Skip to content
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

cmeps integration changes #55

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
95f9ac3
Merge pull request #1 from NOAA-EMC/develop
DeniseWorthen Oct 4, 2019
39b5e91
Merge pull request #2 from NOAA-EMC/develop
DeniseWorthen Nov 23, 2019
3ba89eb
Bring in CMEPS
DeniseWorthen Dec 10, 2019
f0da12c
updates to get remove CMEPS #ifdefs as much as possible
Dec 14, 2019
d6bb479
fixed compilation bug for NEMS
Dec 15, 2019
68ba229
fixed problem with updates to nuopc dictionary in nems mode
Dec 16, 2019
9fd4c3f
simplified removal of CMEPS in module_EARTH_GRID_COMP.F90
Dec 16, 2019
27e31c2
fixed problem with latent heat flux
Dec 16, 2019
eb563f4
Merge pull request #5 from NOAA-EMC/develop
DeniseWorthen Jan 1, 2020
5fb087a
fix divide by zero
DeniseWorthen Jan 2, 2020
fbfb3df
remove ice-ocean merge in prep_atm
DeniseWorthen Jan 11, 2020
584c900
Merge pull request #8 from NOAA-EMC/develop
DeniseWorthen Jan 16, 2020
a50e0d9
Merge branch 'develop' into feature/nomerge2atm
DeniseWorthen Jan 16, 2020
c1457bc
Merge branch 'develop' into cmeps_update
DeniseWorthen Jan 20, 2020
069c83b
Merge branch 'feature/nomerge2atm' into cmeps_update
DeniseWorthen Jan 20, 2020
95a1a3b
Merge pull request #9 from NOAA-EMC/develop
DeniseWorthen Jan 24, 2020
7c7a4e4
Merge pull request #10 from DeniseWorthen/develop
DeniseWorthen Jan 26, 2020
afd7481
Merge pull request #11 from NOAA-EMC/develop
DeniseWorthen Jan 28, 2020
c912fea
Merge pull request #12 from DeniseWorthen/develop
DeniseWorthen Jan 28, 2020
eec1e4b
Merge pull request #16 from NOAA-EMC/develop
DeniseWorthen Feb 27, 2020
100e324
these are the changes that are consistent with the latest cmeps branc…
Mar 9, 2020
dc17f0d
Merge pull request #17 from NOAA-EMC/develop
DeniseWorthen Apr 2, 2020
d2c2f6f
Merge branch 'develop' into feature/cmeps_integration_latest
DeniseWorthen Apr 2, 2020
f342516
update pyprodutil
DeniseWorthen Apr 2, 2020
1d15444
updates to be consistent w/ latest s2s & cmeps
DeniseWorthen Apr 2, 2020
b40ef25
Merge pull request #18 from NOAA-EMC/develop
DeniseWorthen Apr 16, 2020
62c1037
Merge pull request #19 from NOAA-EMC/develop
DeniseWorthen Apr 17, 2020
e8783f0
Merge pull request #20 from DeniseWorthen/develop
DeniseWorthen Apr 17, 2020
6e6fb73
Merge pull request #21 from NOAA-EMC/develop
DeniseWorthen Apr 20, 2020
d17815c
Merge pull request #22 from DeniseWorthen/develop
DeniseWorthen Apr 20, 2020
083982c
Merge pull request #24 from NOAA-EMC/develop
DeniseWorthen Apr 24, 2020
463ad93
Merge pull request #26 from DeniseWorthen/develop
DeniseWorthen Apr 24, 2020
acb09c4
update default values in MAIN_NEMS and module_NEMS_GRID_COMP
DeniseWorthen Apr 24, 2020
fb49539
Merge pull request #27 from NOAA-EMC/develop
DeniseWorthen Apr 27, 2020
a7ddee4
Merge pull request #28 from DeniseWorthen/develop
DeniseWorthen Apr 27, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 57 additions & 49 deletions src/module_EARTH_GRID_COMP.F90
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
!TODO: absorbed the needed standard names into the default dictionary.
! -> 20 fields identified as exports by the GSM component
#ifdef CMEPS
call NUOPC_FieldDictionarySetup("fd.yaml", rc=rc)
call NUOPC_FieldDictionarySetup("fd_nems.yaml", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
Expand Down Expand Up @@ -312,6 +312,17 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_zonal_moment_flx_atm")) then
call NUOPC_FieldDictionaryAddEntry( &
standardName="mean_zonal_moment_flx_atm", &
canonicalUnits="N m-2", &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_merid_moment_flx")) then
call NUOPC_FieldDictionaryAddEntry( &
Expand All @@ -323,6 +334,17 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_merid_moment_flx_atm")) then
call NUOPC_FieldDictionaryAddEntry( &
standardName="mean_merid_moment_flx_atm", &
canonicalUnits="N m-2", &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_sensi_heat_flx")) then
call NUOPC_FieldDictionaryAddEntry( &
Expand All @@ -334,6 +356,17 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_sensi_heat_flx_atm")) then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Denise, we do not have this change on "mean_sensi_heat_flx_atm" and "mean_laten_heat_flx_atm" in fv3atm, do we need to change them in fv3 too?

call NUOPC_FieldDictionaryAddEntry( &
standardName="mean_sensi_heat_flx_atm", &
canonicalUnits="W m-2", &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_sensi_heat_flx_atm_into_ice")) then
call NUOPC_FieldDictionaryAddEntry( &
Expand Down Expand Up @@ -367,6 +400,17 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_laten_heat_flx_atm")) then
call NUOPC_FieldDictionaryAddEntry( &
standardName="mean_laten_heat_flx_atm", &
canonicalUnits="W m-2", &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif
if (.not.NUOPC_FieldDictionaryHasEntry( &
"mean_laten_heat_flx_atm_into_ice")) then
call NUOPC_FieldDictionaryAddEntry( &
Expand Down Expand Up @@ -1282,6 +1326,17 @@ SUBROUTINE EARTH_REGISTER(EARTH_GRID_COMP,RC_REG)
file=__FILE__)) &
return ! bail out
endif
if (.not. NUOPC_FieldDictionaryHasEntry( &
"mean_net_lw_flx_atm")) then
call NUOPC_FieldDictionaryAddEntry( &
standardName="mean_net_lw_flx_atm", &
canonicalUnits="W m-2", &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif
if (.not. NUOPC_FieldDictionaryHasEntry( &
"mean_net_sw_flx")) then
call NUOPC_FieldDictionaryAddEntry( &
Expand Down Expand Up @@ -3412,31 +3467,13 @@ subroutine SetModelServices(driver, rc)
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out

#ifdef CMEPS
! get file suffix
call NUOPC_CompAttributeGet(driver, name="inst_suffix", isPresent=isPresent, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
if (isPresent) then
call NUOPC_CompAttributeGet(driver, name="inst_suffix", value=inst_suffix, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
else
inst_suffix = ""
endif
inst_suffix = ""

! obtain driver attributes (for CMEPS)
call ReadAttributes(driver, config, "DRIVER_attributes::", formatprint=.true., rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out

call ReadAttributes(driver, config, "FLDS_attributes::", formatprint=.true., rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out

call ReadAttributes(driver, config, "CLOCK_attributes::", formatprint=.true., rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out

call ReadAttributes(driver, config, "ALLCOMP_attributes::", formatprint=.true., rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
Expand Down Expand Up @@ -4664,35 +4701,6 @@ subroutine AddAttributes(gcomp, driver, config, compid, compname, inst_suffix, r
file=__FILE__)) &
return ! bail out

call ReadAttributes(gcomp, config, trim(compname)//"_modelio"//trim(inst_suffix)//"::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out

call ReadAttributes(gcomp, config, "CLOCK_attributes::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out

!------
! Add mediator specific attributes
!------
if (compname == 'MED') then
call ReadAttributes(gcomp, config, "MED_history_attributes::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out

call ReadAttributes(gcomp, config, "FLDS_attributes::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
endif

!------
! Add multi-instance specific attributes
!------
Expand Down
14 changes: 7 additions & 7 deletions src/module_MEDIATOR.F90
Original file line number Diff line number Diff line change
Expand Up @@ -561,10 +561,10 @@ subroutine SetServices(gcomp, rc)


! Fields from ATM
call fld_list_add(fldsFrAtm,"mean_zonal_moment_flx" , "cannot provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_merid_moment_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_sensi_heat_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_laten_heat_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_zonal_moment_flx_atm" , "cannot provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_merid_moment_flx_atm" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_sensi_heat_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_laten_heat_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_down_lw_flx" , "will provide","conservefrac")
! call fld_list_add(fldsFrAtm,"mean_up_lw_flx" , "will provide","conservefrac")
call fld_list_add(fldsFrAtm,"mean_down_sw_flx" , "will provide","conservefrac")
Expand Down Expand Up @@ -5522,7 +5522,7 @@ subroutine MedPhase_prep_ocn(gcomp, rc)
customwgt = wgtm01 / const_lhvap
call fieldBundle_FieldMerge(is_local%wrap%FBforOcn , 'mean_evap_rate' , &
is_local%wrap%FBAccumAtmOcn, 'mean_evap_rate_atm_into_ocn', atmwgt1, &
is_local%wrap%FBAtm_o , 'mean_laten_heat_flx' , customwgt, &
is_local%wrap%FBAtm_o , 'mean_laten_heat_flx' , customwgt, &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=__FILE__)) return ! bail out
Expand Down Expand Up @@ -5616,15 +5616,15 @@ subroutine MedPhase_prep_ocn(gcomp, rc)
call fieldBundle_FieldMerge(is_local%wrap%FBforOcn , 'mean_zonal_moment_flx' , &
is_local%wrap%FBAccumAtmOcn, 'stress_on_air_ocn_zonal', atmwgt1, &
is_local%wrap%FBIce_o , 'stress_on_ocn_ice_zonal', icewgt1, &
is_local%wrap%FBAtm_o , 'mean_zonal_moment_flx' , wgtm01, &
is_local%wrap%FBAtm_o , 'mean_zonal_moment_flx_atm' , wgtm01, &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=__FILE__)) return ! bail out

call fieldBundle_FieldMerge(is_local%wrap%FBforOcn , 'mean_merid_moment_flx' , &
is_local%wrap%FBAccumAtmOcn, 'stress_on_air_ocn_merid', atmwgt1, &
is_local%wrap%FBIce_o , 'stress_on_ocn_ice_merid', icewgt1, &
is_local%wrap%FBAtm_o , 'mean_merid_moment_flx' , wgtm01, &
is_local%wrap%FBAtm_o , 'mean_merid_moment_flx_atm' , wgtm01, &
rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=__FILE__)) return ! bail out
Expand Down