Closed DeniseWorthen closed 1 year ago
I have a method to test the switching from mean to inst for the affected fields. For each affected field, within CMEPS I can advertise the inst
field as coming from the ATM:
--- a/mediator/esmFldsExchange_nems_mod.F90
+++ b/mediator/esmFldsExchange_nems_mod.F90
@@ -151,6 +151,16 @@ contains
call addfld_ocnalb('So_anidf')
end if
+ call addfld_from(compatm , 'inst_sensi_heat_flx')
+ call addfld_from(compatm , 'inst_evap_rate')
+ call addfld_from(compatm , 'inst_net_lw_flx')
+ call addfld_from(compatm , 'inst_down_lw_flx')
+ call addfld_from(compatm , 'inst_net_sw_flx')
+ call addfld_from(compatm , 'inst_down_sw_ir_dir_flx')
+ call addfld_from(compatm , 'inst_down_sw_ir_dif_flx')
+ call addfld_from(compatm , 'inst_down_sw_vis_dir_flx')
+ call addfld_from(compatm , 'inst_down_sw_vis_dif_flx')
Each mediator history file for the ATM will then contain the field data for that field from the ATM. However, since these fields are not connected, no results will change. We can compare the fields imported under the "mean" field name with those imported under the "inst" name. They will be very close, but not identical.
@jiandewang Will you please confirm the unit that MOM6 expects for the rain and snow? I know the cap documents these as being in kg m-2 s-1. Are we sure that MOM6 expects a rate and not a rainfall amount?
@DeniseWorthen this is from ncdump of output: float lprec(time, yh, xh) ; lprec:units = "kg m-2 s-1" ;
@jiandewang Yes, but that only says what is being output. There could be intermediate conversions. So the question is can you follow the lprec array and verify that it is not doing a conversion?
OK let me do some research on this part. I had the same doubt as the information we are having is purely from output metadata
@DeniseWorthen just got confirmation from Bob, it is kg m-2 s-1
@jiandewang Great, thanks for checking.
A second step is required in order to fully resolve this issue. A PR is being prepared.
The second step to resolve the mean->inst change involves changing the "mean" prefix to "inst" in the aliases for the sensible, momentum, sw and lw fluxes and evap rate.
Using the cpld_control_nowave_noaero_p8_intel
test, the relevant fields were advertised in the mediator and the differences between the inst and mean export field values can be checked at the end of the 24 hour RT test. In this case, the test reproduced baselines because the fields are not being used.
The mean-inst sensible heat flux (scaled by 1e13)
The mean-inst evap rate (scaled by 1e12)
The mean-inst merid momentum flux (scaled by 1e12). The zonal field is similar.
The downward SW direct visible (scaled by 1e13). The near-IR is similar.
Issues are arising when testing with the land component. See https://github.com/NOAA-EMC/CMEPS/pull/98
The following shows the difference in the ocean surface temperature exported by the ocean component (which is the only field sent to the ATM) after 6 hours when the inst
fields are exported by the ATM instead of the mean
fields.
For the global coupled case (scaled by 1e2)
For the HAFS coupled (atm-ocn-wav) case (scaled by 1)
For HYCOM, I also checked that the values written to stdout for the fields imported to hycom are consistent at the end of 6 hours for the hafs_regional_atm_ocn_wav_intel
test.
Using mean
fields
5117:300: import_to_hycom_deb,max,min,mean= taux10 0.414303189675184E+00 -0.102152488749792E+01 -0.145546862723850E-01
5118:300: import_to_hycom_deb,max,min,mean= tauy10 0.874874996681233E+00 -0.435587594363473E+00 0.212075162866413E-02
5119:300: import_to_hycom_deb,max,min,mean= prcp 0.162320748445706E-01 0.000000000000000E+00 0.514844730269246E-04
5120:300: import_to_hycom_deb,max,min,mean= swflxd 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
5121:300: import_to_hycom_deb,max,min,mean= lwflxd 0.188231732816424E+02 -0.119725259819797E+03 -0.573773485147214E+02
5122:300: import_to_hycom_deb,max,min,mean= mslprs 0.102404494247344E+06 0.987505942605636E+05 0.101521762194559E+06
5123:300: import_to_hycom_deb,max,min,mean= sensflx 0.639654733012051E+02 -0.113390740038456E+03 -0.874893776318893E+01
5124:300: import_to_hycom_deb,max,min,mean= latflx 0.841020805274566E+02 -0.509817519227136E+03 -0.127851449827206E+03
Using inst
fields:
5117:300: import_to_hycom_deb,max,min,mean= taux10 0.421752682437904E+00 -0.102475189077673E+01 -0.145551839806498E-01
5118:300: import_to_hycom_deb,max,min,mean= tauy10 0.874899909211888E+00 -0.442320312038619E+00 0.212422872715114E-02
5119:300: import_to_hycom_deb,max,min,mean= prcp 0.166373691172656E-01 0.000000000000000E+00 0.513272903509620E-04
5120:300: import_to_hycom_deb,max,min,mean= swflxd 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
5121:300: import_to_hycom_deb,max,min,mean= lwflxd 0.189798814619155E+02 -0.119739769567530E+03 -0.573865264850271E+02
5122:300: import_to_hycom_deb,max,min,mean= mslprs 0.102404224694724E+06 0.987505831283595E+05 0.101521831780655E+06
5123:300: import_to_hycom_deb,max,min,mean= sensflx 0.641409693659895E+02 -0.114662954907980E+03 -0.874795168044725E+01
5124:300: import_to_hycom_deb,max,min,mean= latflx 0.886765221743354E+02 -0.507741607562167E+03 -0.127840326125221E+03
Changes were committed in #1942
Description
As a legacy from the NEMS mediator, many fields are exported or imported from the ATM with the name
mean
. For example, ATM importsmean_ice_volume
when in fact the field from CICE is an instantaneous field since the ATM and ICE are running concurrently in the fast loop.Even when coupling to ocean, the fields sent to the ocean from the ATM should be the instantaneous fields, since the mediator itself forms the average of these fields over the fast coupling loop in order to create the mean field to the ocean. Generally, these fields sent to the ocean are called
mean
fields, but they are the average of theinst
fields from ATM or ICE (or merged between ATM and ICE).This issue arose while investigating the shortwave fields in issue #1767
Solution
Impose consistency in the fields which are imported or exported. For example, the ATM should export
inst_sensi_heat_flx
, notmean_sensi_heat_flx
for the ocean. For ATM exports, these two fields are not identical at every modelAdvance, but nearly so.In the cases examined so far, changing to the instantaneous export fields shows very small (O~10-15) differences in the export fields in the first few hours after the initial time, after which differences start increasing as the model adjusts to the accumulated small differences.
Changing of
mean_ice_volume
toinst_ice_volume
should not result in differences however, since in this case it is only the name of the field changing, and not the content.In most cases, imposing this consistency on the ATM side will require only a modification to the fd_nems.yaml since both
mean
andinst
fields are available the export field setup.Alternatives
Related to