-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove interstitial variables for land and ice emissivity and update the land and ice emissivity in the routine setemis in CCPP #393
Changes from 250 commits
a7a306c
69f4033
6fb21f1
51cce85
5ed5b09
7cb03c4
7c258bd
a77396a
1f35918
0e66037
e0b7e37
956d06b
ee2a35f
bef4b5e
515308e
824b634
14922da
697ad6b
e9ef747
70dc9b8
635dc96
445e5d3
26887d6
9c98799
5a48385
8622044
5402739
299db51
7e2cfe8
6390ec7
96ff0b5
71e21ba
ef3a010
6a6f1b1
4024b7e
11e459b
8580585
24b7647
fd60abf
87583c8
9507f7e
4eacf6a
a316a78
915d21f
6602b69
3e344f0
99793e1
d402518
9d4fe97
087a1ce
5515b60
c053735
9407206
8d51e02
20a31c4
8d9ce62
71a5e23
bf81a67
467a538
34b2202
2be9274
27dacbc
31d40d3
c6039db
b162993
f348b8d
f09903b
ae60021
2ebd268
f7e588b
a6c09c3
3f587ac
481a08e
68f77cb
ecbccfa
7e93eed
a4b144f
b378e30
ca6f28e
e12ca08
7c72a49
3133783
ea57b29
a2b73e6
e7429ce
d6da5a5
7fd139c
6d655b6
dfeaa5d
309faef
e72f14b
5d064c1
0080be7
c6066a0
b3122d2
0c19ad9
ed1e224
af4f5a0
b77094f
fefefea
7e82ddc
7635144
19d6f5b
64cbf39
b191e00
519c9ba
20c6940
ba113d1
e66901f
a7e6f5c
455b394
9b6a3ba
03aadb9
789a50e
db660af
2c7b58b
8f086ab
27835fa
d46d238
c3083ef
ba7a460
c3ca670
62979c3
4fa1032
fa3b949
512b841
1fd8956
094e0fc
242af1e
7f29862
4a3b48f
aabb0eb
7f5a7ef
e943211
d0a333d
0cb854d
fe2a841
b8f1575
e8b08a7
076a619
224d145
418ad47
6244800
b0f8c87
cc030ec
8fe65ee
e4e0e40
bcb678c
d8316eb
aecb03a
4d9842a
0ff8264
032af80
d6beb25
d70280c
552c1d5
d0e2c0c
37eb3cc
b40eb72
5a6212d
36d43e4
ed8289d
4d9cd0e
214ed42
4a6120f
06fc1e5
71a667b
61d608a
fdb3c40
5da6cfe
e011b4e
c04074a
467ecfb
924658c
283139d
4fa71a3
5086bbc
a10fac6
d646f9a
a079d6c
c6028af
71ae810
354ae59
56a810e
8778465
cfd6cdc
193432a
188d794
883e2e9
d168b8d
813c5a6
c3b9f4b
b50c5b7
1df45bb
521b2b7
05b0037
852dc55
c2b7199
239fa2d
d464edf
ef4ec35
b176a23
f466f3a
7e55fa9
a63f49c
f26ccec
d6d014f
2159389
fab2270
637f0dd
c71a0bb
5828e5b
69b67de
3221807
23257fe
98c56bc
db584bb
b8a81e3
438ab87
333f465
26c4cb1
16205ee
0a2c6c0
a8892bc
376a9d9
740d225
db3687e
8a3bddb
86f03e4
48ec11c
bd06688
bffb1ed
7eaae73
4ec0b67
0923743
9d5e707
e08c4e9
99eb1d2
f481644
6512959
a50c5dc
04b926d
2487d45
d135946
fd5f5ff
4e8d640
fc513f3
1800bff
1615547
4901e89
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
+313 −98 | docs/examples/BCMoist.ipynb | |
+558 −0 | docs/examples/MountainWaveIC.ipynb | |
+23 −4 | docs/examples/README.md | |
+1,095 −0 | docs/examples/mtn_rest_100km.ipynb | |
+415 −0 | docs/examples/mtn_wave_tests_1km.ipynb | |
+0 −10 | driver/fvGFS/atmosphere.F90 | |
+4 −1 | model/fv_mapz.F90 | |
+9 −13 | model/fv_regional_bc.F90 | |
+2 −0 | tools/external_ic.F90 | |
+13 −9 | tools/fv_diagnostics.F90 | |
+1 −1 | tools/fv_eta.F90 | |
+3 −3 | tools/fv_iau_mod.F90 | |
+12 −4 | tools/fv_io.F90 | |
+2 −1 | tools/fv_nudge.F90 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -423,9 +423,9 @@ subroutine atmos_timestep_diagnostics(Atmos) | |
if(.not. GFS_control%first_time_step) then | ||
pmaxloc = 0.0d0 | ||
recvbuf = 0.0d0 | ||
psum = 0.0d0 | ||
pcount = 0.0d0 | ||
maxabs = 0.0d0 | ||
psum = 0.0d0 | ||
pcount = 0.0d0 | ||
maxabs = 0.0d0 | ||
|
||
! Put pgr stats in pmaxloc, psum, and pcount: | ||
pmaxloc(1) = GFS_Control%tile_num | ||
|
@@ -434,11 +434,11 @@ subroutine atmos_timestep_diagnostics(Atmos) | |
do i=1,count | ||
pdiff = GFS_data(nb)%Statein%pgr(i)-GFS_data(nb)%Intdiag%old_pgr(i) | ||
adiff = abs(pdiff) | ||
psum = psum+adiff | ||
psum = psum + adiff | ||
if(adiff>=maxabs) then | ||
maxabs=adiff | ||
pmaxloc(2:3)=(/ ATM_block%index(nb)%ii(i), ATM_block%index(nb)%jj(i) /) | ||
pmaxloc(4:7)=(/ pdiff, GFS_data(nb)%Statein%pgr(i), & | ||
pmaxloc(2:3) = (/ ATM_block%index(nb)%ii(i), ATM_block%index(nb)%jj(i) /) | ||
pmaxloc(4:7) = (/ pdiff, GFS_data(nb)%Statein%pgr(i), & | ||
GFS_data(nb)%Grid%xlat(i), GFS_data(nb)%Grid%xlon(i) /) | ||
endif | ||
enddo | ||
|
@@ -1642,6 +1642,7 @@ subroutine assign_importdata(jdat, rc) | |
! real(kind=GFS_kind_phys), parameter :: hsmax = 100.0 !< maximum snow depth (m) allowed | ||
real(kind=GFS_kind_phys), parameter :: himax = 1.0e12 !< maximum ice thickness allowed | ||
real(kind=GFS_kind_phys), parameter :: hsmax = 1.0e12 !< maximum snow depth (m) allowed | ||
real(kind=GFS_kind_phys), parameter :: con_sbc = 5.670400e-8_GFS_kind_phys !< stefan-boltzmann | ||
! | ||
!------------------------------------------------------------------------------ | ||
! | ||
|
@@ -2479,7 +2480,7 @@ subroutine assign_importdata(jdat, rc) | |
|
||
! update sea ice related fields: | ||
if( lcpl_fice ) then | ||
!$omp parallel do default(shared) private(i,j,nb,ix) | ||
!$omp parallel do default(shared) private(i,j,nb,ix,tem) | ||
do j=jsc,jec | ||
do i=isc,iec | ||
nb = Atm_block%blkno(i,j) | ||
|
@@ -2490,6 +2491,15 @@ subroutine assign_importdata(jdat, rc) | |
GFS_data(nb)%Coupling%hsnoin_cpl(ix) = min(hsmax, GFS_data(nb)%Coupling%hsnoin_cpl(ix) & | ||
/ (GFS_data(nb)%Sfcprop%fice(ix)*GFS_data(nb)%Sfcprop%oceanfrac(ix))) | ||
GFS_data(nb)%Sfcprop%zorli(ix) = z0ice | ||
tem = GFS_data(nb)%Sfcprop%tisfc(ix) * GFS_data(nb)%Sfcprop%tisfc(ix) | ||
tem = con_sbc * tem * tem | ||
Comment on lines
+2494
to
+2495
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just a suggestion, this can (safely) be written as |
||
if (GFS_data(nb)%Coupling%ulwsfcin_cpl(ix) > zero) then | ||
GFS_data(nb)%Sfcprop%emis_ice(ix) = GFS_data(nb)%Coupling%ulwsfcin_cpl(ix) / tem | ||
GFS_data(nb)%Sfcprop%emis_ice(ix) = max(0.9, min(one, GFS_data(nb)%Sfcprop%emis_ice(ix))) | ||
else | ||
GFS_data(nb)%Sfcprop%emis_ice(ix) = 0.96 | ||
endif | ||
GFS_data(nb)%Coupling%ulwsfcin_cpl(ix) = tem * GFS_data(nb)%Sfcprop%emis_ice(ix) | ||
junwang-noaa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
else | ||
GFS_data(nb)%Sfcprop%tisfc(ix) = GFS_data(nb)%Sfcprop%tsfco(ix) | ||
GFS_data(nb)%Sfcprop%fice(ix) = zero | ||
|
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -516,8 +516,8 @@ | |
type = real | ||
kind = kind_phys | ||
[tisfc] | ||
standard_name = sea_ice_temperature | ||
long_name = sea ice surface skin temperature | ||
standard_name = surface_skin_temperature_over_ice | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this now refer to all ice (lake & sea-ice)? |
||
long_name = surface skin temperature over ice | ||
units = K | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
|
@@ -592,6 +592,20 @@ | |
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[snodi] | ||
standard_name = surface_snow_thickness_water_equivalent_over_ice | ||
long_name = water equivalent snow depth over ice | ||
units = mm | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[weasdi] | ||
standard_name = water_equivalent_accumulated_snow_depth_over_ice | ||
long_name = water equiv of acc snow depth over land | ||
units = mm | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[hprime] | ||
standard_name = statistical_measures_of_subgrid_orography_collection_array | ||
long_name = orographic metrics | ||
|
@@ -1346,31 +1360,31 @@ | |
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo .eqv. .true.) | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) | ||
[albdifvis_ice] | ||
standard_name = surface_albedo_diffuse_visible_over_ice | ||
long_name = diffuse surface albedo visible band over ice | ||
units = frac | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo .eqv. .true.) | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) | ||
[albdirnir_ice] | ||
standard_name = surface_albedo_direct_NIR_over_ice | ||
long_name = direct surface albedo NIR band over ice | ||
units = frac | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo .eqv. .true.) | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) | ||
[albdifnir_ice] | ||
standard_name = surface_albedo_diffuse_NIR_over_ice | ||
long_name = diffuse surface albedo NIR band over ice | ||
units = frac | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo .eqv. .true.) | ||
active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) | ||
[wetness] | ||
standard_name = normalized_soil_wetness_for_land_surface_model | ||
long_name = normalized soil wetness for lsm | ||
|
@@ -5203,6 +5217,13 @@ | |
dimensions = () | ||
type = real | ||
kind = kind_phys | ||
[huge] | ||
standard_name = netcdf_float_fillvalue | ||
long_name = definition of NetCDF float FillValue | ||
units = none | ||
dimensions = () | ||
type = real | ||
kind = kind_phys | ||
[icloud] | ||
standard_name = control_for_cloud_area_fraction_option | ||
long_name = cloud effect to the optical depth and cloud fraction in radiation | ||
|
@@ -8215,20 +8236,6 @@ | |
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[semis_land] | ||
standard_name = surface_longwave_emissivity_over_land_interstitial | ||
long_name = surface lw emissivity in fraction over land (temporary use as interstitial) | ||
units = frac | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[semis_ice] | ||
standard_name = surface_longwave_emissivity_over_ice_interstitial | ||
long_name = surface lw emissivity in fraction over ice (temporary use as interstitial) | ||
units = frac | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[ep1d] | ||
standard_name = surface_upward_potential_latent_heat_flux | ||
long_name = surface upward potential latent heat flux | ||
|
@@ -9537,13 +9544,6 @@ | |
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[snowd_ice] | ||
standard_name = surface_snow_thickness_water_equivalent_over_ice | ||
long_name = water equivalent snow depth over ice | ||
units = mm | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[snowd_land_save] | ||
standard_name = surface_snow_thickness_water_equivalent_over_land_save | ||
long_name = water equivalent snow depth over land before entering a physics scheme | ||
|
@@ -9770,13 +9770,6 @@ | |
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme) | ||
[tsfc_ice] | ||
standard_name = surface_skin_temperature_over_ice | ||
long_name = surface skin temperature over ice | ||
units = K | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[tsfg] | ||
standard_name = surface_ground_temperature_for_radiation | ||
long_name = surface ground temperature for radiation | ||
|
@@ -9883,13 +9876,6 @@ | |
type = real | ||
kind = kind_phys | ||
active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme) | ||
[weasd_ice] | ||
standard_name = water_equivalent_accumulated_snow_depth_over_ice | ||
long_name = water equiv of acc snow depth over ice | ||
units = mm | ||
dimensions = (horizontal_loop_extent) | ||
type = real | ||
kind = kind_phys | ||
[wind] | ||
standard_name = wind_speed_at_lowest_model_layer | ||
long_name = wind speed at lowest model level | ||
|
@@ -10666,13 +10652,6 @@ | |
units = none | ||
dimensions = () | ||
type = integer | ||
[huge] | ||
standard_name = netcdf_float_fillvalue | ||
long_name = definition of NetCDF float FillValue | ||
units = none | ||
dimensions = () | ||
type = real | ||
kind = kind_phys | ||
[con_cliq] | ||
standard_name = specific_heat_of_liquid_water_at_constant_pressure | ||
long_name = specific heat of liquid water at constant pressure | ||
|
+3 −3 | physics/GFS_PBL_generic.F90 | |
+9 −0 | physics/GFS_PBL_generic.meta | |
+1 −1 | physics/GFS_debug.F90 | |
+2 −2 | physics/GFS_phys_time_vary.fv3.meta | |
+23 −20 | physics/GFS_radiation_surface.F90 | |
+39 −5 | physics/GFS_radiation_surface.meta | |
+66 −93 | physics/GFS_surface_composites.F90 | |
+24 −110 | physics/GFS_surface_composites.meta | |
+39 −39 | physics/dcyc2.meta | |
+3 −3 | physics/module_MYNNPBL_wrapper.F90 | |
+9 −0 | physics/module_MYNNPBL_wrapper.meta | |
+99 −52 | physics/radiation_surface.f | |
+5 −4 | physics/rascnv.F90 | |
+3 −3 | physics/sfc_drv.meta | |
+32 −70 | physics/sfc_drv_ruc.F90 | |
+6 −33 | physics/sfc_drv_ruc.meta | |
+3 −3 | physics/sfc_noah_wrfv4.meta | |
+31 −20 | physics/sfc_sice.f | |
+41 −14 | physics/sfc_sice.meta | |
+7 −7 | physics/sfcsub.F |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
|
||
<suite name="FV3_GFSv17alp_cpldnsstrasnoahmp" version="1"> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we remove this one if the next suite file FV3_GFSv17alp_cpldnsstrasugwpnoahmp is working? |
||
<!-- <init></init> --> | ||
<group name="fast_physics"> | ||
<subcycle loop="1"> | ||
<scheme>fv_sat_adj</scheme> | ||
</subcycle> | ||
</group> | ||
<group name="time_vary"> | ||
<subcycle loop="1"> | ||
<scheme>GFS_time_vary_pre</scheme> | ||
<scheme>GFS_rrtmg_setup</scheme> | ||
<scheme>GFS_rad_time_vary</scheme> | ||
<scheme>GFS_phys_time_vary</scheme> | ||
</subcycle> | ||
</group> | ||
<group name="radiation"> | ||
<subcycle loop="1"> | ||
<scheme>GFS_suite_interstitial_rad_reset</scheme> | ||
<scheme>GFS_rrtmg_pre</scheme> | ||
<scheme>GFS_radiation_surface</scheme> | ||
<scheme>rrtmg_sw_pre</scheme> | ||
<scheme>rrtmg_sw</scheme> | ||
<scheme>rrtmg_sw_post</scheme> | ||
<scheme>rrtmg_lw_pre</scheme> | ||
<scheme>rrtmg_lw</scheme> | ||
<scheme>rrtmg_lw_post</scheme> | ||
<scheme>GFS_rrtmg_post</scheme> | ||
</subcycle> | ||
</group> | ||
<group name="physics"> | ||
<subcycle loop="1"> | ||
<scheme>GFS_suite_interstitial_phys_reset</scheme> | ||
<scheme>GFS_suite_stateout_reset</scheme> | ||
<scheme>get_prs_fv3</scheme> | ||
<scheme>GFS_suite_interstitial_1</scheme> | ||
<scheme>GFS_surface_generic_pre</scheme> | ||
<scheme>GFS_surface_composites_pre</scheme> | ||
<scheme>dcyc2t3</scheme> | ||
<scheme>GFS_surface_composites_inter</scheme> | ||
<scheme>GFS_suite_interstitial_2</scheme> | ||
</subcycle> | ||
<!-- Surface iteration loop --> | ||
<subcycle loop="2"> | ||
<scheme>sfc_diff</scheme> | ||
<scheme>GFS_surface_loop_control_part1</scheme> | ||
<scheme>sfc_nst_pre</scheme> | ||
<scheme>sfc_nst</scheme> | ||
<scheme>sfc_nst_post</scheme> | ||
<scheme>noahmpdrv</scheme> | ||
<scheme>sfc_cice</scheme> | ||
<scheme>sfc_sice</scheme> | ||
<scheme>GFS_surface_loop_control_part2</scheme> | ||
</subcycle> | ||
<!-- End of surface iteration loop --> | ||
<subcycle loop="1"> | ||
<scheme>GFS_surface_composites_post</scheme> | ||
<scheme>sfc_diag</scheme> | ||
<scheme>sfc_diag_post</scheme> | ||
<scheme>GFS_surface_generic_post</scheme> | ||
<scheme>GFS_PBL_generic_pre</scheme> | ||
<scheme>satmedmfvdifq</scheme> | ||
<scheme>GFS_PBL_generic_post</scheme> | ||
<scheme>GFS_GWD_generic_pre</scheme> | ||
<scheme>cires_ugwp</scheme> | ||
<scheme>cires_ugwp_post</scheme> | ||
<scheme>GFS_GWD_generic_post</scheme> | ||
<scheme>GFS_suite_stateout_update</scheme> | ||
<scheme>ozphys_2015</scheme> | ||
<scheme>h2ophys</scheme> | ||
<scheme>get_phi_fv3</scheme> | ||
<scheme>GFS_suite_interstitial_3</scheme> | ||
<scheme>GFS_DCNV_generic_pre</scheme> | ||
<scheme>rascnv</scheme> | ||
<scheme>GFS_DCNV_generic_post</scheme> | ||
<scheme>GFS_SCNV_generic_pre</scheme> | ||
<scheme>samfshalcnv</scheme> | ||
<scheme>GFS_SCNV_generic_post</scheme> | ||
<scheme>GFS_suite_interstitial_4</scheme> | ||
<scheme>cnvc90</scheme> | ||
<scheme>GFS_MP_generic_pre</scheme> | ||
<scheme>gfdl_cloud_microphys</scheme> | ||
<scheme>GFS_MP_generic_post</scheme> | ||
<scheme>maximum_hourly_diagnostics</scheme> | ||
<scheme>phys_tend</scheme> | ||
</subcycle> | ||
</group> | ||
<group name="stochastics"> | ||
<subcycle loop="1"> | ||
<scheme>GFS_stochastics</scheme> | ||
</subcycle> | ||
</group> | ||
<!-- <finalize></finalize> --> | ||
</suite> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.gitmodules
will need to be reverted