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

Feature/gfsv16intocoupled #194

Merged
merged 1,383 commits into from
Dec 18, 2020

Conversation

JianKuang-Intelsat
Copy link
Contributor

Script update.

Additional code and logics blocks from gfsv16 are included in the modularized scripts.

Next step is to add them into the namelists

lgannoaa and others added 30 commits September 10, 2020 16:26
…epost

Sync with feature/gfsv16b and small updates to split wave post changes
…eded.

modified build_tropcy_NEMS.sh to remove references to relocate_mv_nvortex
section because RTOFS will not be available until 06 cycle
- new UPP tag
- new GLDAS tag
- new WAFS tag
- new module for WAFS
- EE2 updates to awips scripts
- added WAFS to archival
- break downstream and WAFS archival into separate gfs_downstream tarball
- update gfsarch dependencies to wait for all wavepost jobs to complete
Small updates to downstream jobs and tag updates
@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA the run on hera failed the same way my run on orion failed. See the log file

/work/noaa/marine/jmeixner/p6pr194update/test01/COMROOT/test01/logs/2013040100/gfs.forecast.highres.log

Important parts:

0 + source /work/noaa/marine/jmeixner/p6pr194update/global-workflow/scripts/../ush/parsing_model_configure_FV3.sh
/work/noaa/marine/jmeixner/p6pr194update/global-workflow/scripts/../ush/parsing_model_configure_FV3.sh: line 76: syntax error near unexpected token `}'
/work/noaa/marine/jmeixner/p6pr194update/global-workflow/scripts/../ush/parsing_model_configure_FV3.sh: line 76: `}'
forrtl: severe (29): file not found, unit 101, file /work/noaa/marine/jmeixner/p6pr194update/test01/DATA/test01/2013040100/gfs/fcst.378149/model_configure

@JianKuang-Intelsat
Copy link
Contributor Author

@JessicaMeixner-NOAA This is likely a typo. It is so strange that my test didn't capture it. Let me check.

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA sorry I can't do this through the normal review as there are so many files with changes it's hard to go through and mark them on the file. But I just checked the diffs in the input.nml creation from the namelist options that are in ush/parsing_namelists_FV3.sh and we need to update the following to match the develop branch:

These are the variables in the develop branch options that I found that did not match the defaults in this PR:
adjust_dry_mass = ${adjust_dry_mass:-".true."} 
lheatstrg    = ${lheatstrg-".false."}
lgfdlmprad   = ${lgfdlmprad:-".false."}
lgfdlmprad   = ${lgfdlmprad:-".true."}
effr_in      = ${effr_in:-".false."}
do_ugwp      = ${do_ugwp:-".true."} 
do_tofd      = ${do_tofd:-".true."}
reiflag = ${reiflag:-"2"}

In the develop branch cplwav needs to default to false:   
cplwav       = ${cplwav:-".false."}
not just be:
cplwav       = ${cplwav}

The if $CCPP_SUITE blocks starting on line 201 could be updated to just be one if block following the "if [ $RUN_CCPP = "YES" ]; then" if block in the develop branch starting on line 1092

lines 234-5 should be removed:
iovr_lw = ${iovr_lw:-"3"}
iovr_sw = ${iovr_sw:-"3"}

Line 486: 
&nam_sfcperts
should instead be   
$nam_sfcperts_nml

@JessicaMeixner-NOAA
Copy link
Contributor

@JessicaMeixner-NOAA This is likely a typo. It is so strange that my test didn't capture it. Let me check.

Are there local changes that did not get pushed?

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA Also doing a difference between the develop branch and this PR I saw that
Files develop/sorc/build_ncep_post.sh and pr194/sorc/build_ncep_post.sh differ
which I don't think should necessarily be different.

There were a couple of other files such as :
Files develop/parm/config/config.gldas and pr194/parm/config/config.gldas differ
Files develop/env/HERA.env and pr194/env/HERA.env differ

which I believe is just there from recent commits to the develop branch.

@JianKuang-Intelsat
Copy link
Contributor Author

@JessicaMeixner-NOAA I fixed the model_configure script issue which is a simple syntax error. I will fix those name list variables that you mentioned, together with it.

fix syntax error in model_configure script

Conflicts:
	sorc/checkout.sh
@JianKuang-Intelsat
Copy link
Contributor Author

@JessicaMeixner-NOAA I think the RUN_CCPP block in the develop branch is not so clear because there are multiple CCPP suites and each of them may come with some additional name list variables. In other words, CCPP should be a selectable set instead of a "true/false" variable. Indeed the RUN_CCPP block in the develop only takes care of the "FV3_GSD_v0" suite. Please correct me if I am wrong.

@JianKuang-Intelsat
Copy link
Contributor Author

@JianKuang-NOAA sorry I can't do this through the normal review as there are so many files with changes it's hard to go through and mark them on the file. But I just checked the diffs in the input.nml creation from the namelist options that are in ush/parsing_namelists_FV3.sh and we need to update the following to match the develop branch:

These are the variables in the develop branch options that I found that did not match the defaults in this PR:
adjust_dry_mass = ${adjust_dry_mass:-".true."} 
lheatstrg    = ${lheatstrg-".false."}
lgfdlmprad   = ${lgfdlmprad:-".false."}
lgfdlmprad   = ${lgfdlmprad:-".true."}
effr_in      = ${effr_in:-".false."}
do_ugwp      = ${do_ugwp:-".true."} 
do_tofd      = ${do_tofd:-".true."}
reiflag = ${reiflag:-"2"}

In the develop branch cplwav needs to default to false:   
cplwav       = ${cplwav:-".false."}
not just be:
cplwav       = ${cplwav}

The if $CCPP_SUITE blocks starting on line 201 could be updated to just be one if block following the "if [ $RUN_CCPP = "YES" ]; then" if block in the develop branch starting on line 1092

lines 234-5 should be removed:
iovr_lw = ${iovr_lw:-"3"}
iovr_sw = ${iovr_sw:-"3"}

Line 486: 
&nam_sfcperts
should instead be   
$nam_sfcperts_nml

Line 486 "nam_sfcperts_nml", is identical with the develop branch. I don't know what should I do?

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA It's my understanding that we need these for all CCPP suites, not just "FV3_GSD_v0" In the develop branch I think the suite that was recently tested was FV3_GFS_v16beta and we're going to be using the coupled version of that for prototype 6.

@JianKuang-Intelsat
Copy link
Contributor Author

JianKuang-Intelsat commented Dec 17, 2020

@JianKuang-NOAA It's my understanding that we need these for all CCPP suites, not just "FV3_GSD_v0" In the develop branch I think the suite that was recently tested was FV3_GFS_v16beta and we're going to be using the coupled version of that for prototype 6.

Yes. That's the reason why I think we shouldn't define CCPP as a YES/NO option. Instead we need to enable users to select suite by it's name.

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA those options are needed for any CCPP suite at this time. If you want to keep it for a specific suite file, please add an if block for "FV3_GFS_v16beta_coupled" with all of the options in the develop branch in that if block.

You are correct on the nam_sfcperts_nml, it is already how it is in the develop branch. I am not sure what I saw before.

update CCPP suite selection in test case file
create prototype 5.1 case file with updated CCPP suite

Making each CCPP suite a selectable option is beneficial,
because this could handle future development when they
start to differ from each other.
@JessicaMeixner-NOAA
Copy link
Contributor

I pulled the recent changes (up to 14a85cd) and tried again and the forecast still fails this time with:
forrtl: severe (19): invalid reference to variable in NAMELIST input, unit -5, file Internal Formatted NML Read, line -1, position 16

Let me know when you are ready for me to run a test again.

@JianKuang-Intelsat
Copy link
Contributor Author

@JessicaMeixner-NOAA It turns out that's because I included iovr_* variables in the "general" name list(for every CCPP suite). I fixed this issue. Please take another try on your end. I apologize for this mistake.

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA the iovr and other namelist options look good. Thanks for adding the CCPP suite options for FV3_GFS_v16beta_coupled as well!

Is the forecast model working again? Is this ready for me to test again on hera?

@JianKuang-Intelsat
Copy link
Contributor Author

@JessicaMeixner-NOAA Yes it is working on my side again.

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA my test on orion also succeeded. I started with a fresh clone and build so it's taking a little longer on hera.

@LydiaStefanova-NOAA and @jiandewang could you help check output Lydia note that atm files are now in the "atmos" subfolder
The test on orion output is here: /work/noaa/marine/jmeixner/p6pr194update/test02/COMROOT/test02/gfs.20130401/00 I'll post the hera test as soon as it's available.

@JessicaMeixner-NOAA
Copy link
Contributor

@JianKuang-NOAA if we wanted to get bit-reproducible answers, we could by overwriting the default values.. however since we're in the process of upgrading, perhaps as long as things are running this is not an issue. We do want to make sure that everything is working as expected though.

@JessicaMeixner-NOAA
Copy link
Contributor

@jiandewang @LydiaStefanova-NOAA the hera test output is here:
/scratch2/NCEPDEV/climate/Jessica.Meixner/p6pr194update/test01/COMROOT/test01/gfs.20130401/00

The hera test ran to "succeed" although the archive job is still running. The archive job is not completely correct as @jiandewang pointed out earlier but we can address that in a later PR.

@JessicaMeixner-NOAA
Copy link
Contributor

Copying @LydiaStefanova-NOAA's comment's to the PR from the issue:
In atmos/ the grib2 files look ok to me.

In wave/ the gfswave.t00z.global.0p50.fXXX.grib2 files all fields I checked are constant (i.e. identical value at any lat/lon)

Two other things I noticed, that may or may not be relevant here, mentioning them in case they are:
(a) The variable called "la_mod" in the waveocn_*nc files has possibly strange values (e.g the max is 5.37e+34 in wavocn_2013_04_01_03.nc, 8.9301E+08 in wavocn_2013_04_02_21.nc). I haven't looked at this type of files before, so I don't know if this is normal.
(b) the archlist contents (now under atmos/archlist) are different from what we had for P5. I can describe the differences in more detail if this is relevant now.

And from @jiandewang:
checking ocean outputs show reasonable value (both orion and hera), but confirmed with Lydia's point about LA_MOD

And from me:
We know that the arch list is not perfect and will take care of that later. The bad wave grib files is another known issue that this PR is not supposed to address. the la_mod does have very large values at times. That was there before.

Thanks to @jiandewang and @LydiaStefanova-NOAA for helping check things.

Copy link
Contributor

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

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

Thanks @JianKuang-NOAA

@JianKuang-Intelsat JianKuang-Intelsat merged commit e13dafc into feature/coupled-crow Dec 18, 2020
@JianKuang-Intelsat JianKuang-Intelsat deleted the feature/gfsv16intocoupled branch December 18, 2020 21:02
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this pull request Jan 13, 2021
…kflow into feature/port_coupled_wcoss_dell

* 'feature/coupled-crow' of github.com:NOAA-EMC/global-workflow:
  Feature/gfsv16intocoupled (NOAA-EMC#194)
  feature/coupled-crow fractional grid  (NOAA-EMC#218)
  updating module file so that atm pos will work (NOAA-EMC#214)
  feature/coupled-crow updating to use latest ups-weather (NOAA-EMC#210)
  feature/coupled-crow: Updates for consistency  (NOAA-EMC#199)
  modify modulefile.reg2grb2.orion, modulefile.reg2grb2.hera and build_reg2grb2.sh to use hpc-stack library
  update readme to current wave post status
  rest of post jobs that should have been committed
  at this point, the post jobs for the waves post run, but the gridded grib2 files are not correct
  modifications for wave jobs after updating to be closer to v16 wave scripts but work for feature/coupled-crow
  update ENV files for wave jobs
  update wave jobs
  updates from gfsv16b-waves
  add correct path to wave exe
  remove exit
  update ww3 build script
  add building of WW3 pre and prep jobs currently requires extra module files (can be removed when base uses hpc-stack)
  update for module files on orion and adding building of wave prep
  updating scrip files for waves to match gfsv16b
  updating ush files for waves to match gfsv16b (includes restructure)
  cleanup
  (1) set IC dir path as /work/noaa/marine/Partha.Bhattacharjee/IC_Dir in workflow/platforms/orion.yaml (2) add extra white space in ush/nems_configure.sh in line 56 to eliminate warning in run log (3) correction on restart_n template variable setting in ush/nems.configure.med_atm_ocn_ice.IN
  corrections on E-P calculation in regdiag.f
  final updates to make cmeps forecasts run
  add pointer to which mediator restart for cmeps
  updates for CMEPS mediator
  adding MED pets so that they only use the forecast not write grid pets
  updates for nems.configure for running with CMEPS
  updating ice_in see NOAA-EMC/CICE5#25
  adding nems.configure to the log file
  add note to use rocoto/1.3.2 on orion as this version has fix for the UNAVAILABLE issue
  reg2grb2 now builds on orion
  updates of an lmod->lmod/lmod update to build of fv3_coupled
  updates for wave post jobs - changing exe dir location
  updating build to work with CMEPS
  cleanup from duplications
  adding cycle definition to wave post job
  fixing syntax error in JWAVE_PREP job for variables that are not actively being used
  change for lmod -> lmod/lmod on orion updated README
  updates - everything but wave post seems to run now, part of wave post does updating model to latest tag
  add waves to jglobal forecast config
  updated wave-realted scripts to match gfsv16 branch updated environment files env/ORION.env updated configuration system
  fix nems.configure for cold start
  at this point the ocean post is now running
  updates for forecast with waves
  updating forecast job for wave jobs
  updates to run wave prep for s2s case
  wave init now works on orion
  put ic type variable into config.fv3ic
  add ocean, ice and wave configurable variables
  add ocean, ice and wave configurable variables
  adding missing file from last commit
  wave init job now works on hera
  ocean post hours at boundary are processed twice, now fixed.
  point WW3-related executables through HOMEgfs/fv3_coupled.fd/exec
  updates for running wave jobs
  updates for wave defaults for s2s p4
  fix bugs in config.wave and coupled_ic.sh
  first try for adding wave ICs
  move OCNPETS, ICEPETS and WAVEPETS into dedicated model-specific sessions instead of fv3_gfs_settings
  bug fix in layout file
  bugfix in layout file
  changes to wave case
  cleaning up double cplwav
  adding updates to wave scripts from gfsv16b branch by @ajhenrique
  add ocn-ice build to readme
  Merged and ready for test
  reg2grb2 Build on Hera and Orion
  orion hera build test
  reg2grb2 for test on feature coupled-crow
  wave post-process job update
  Revise CCPP_SUITE variable name, default option, to "IPD"
  Fix suite name of CCPP Move cplwav and cplwav2atm variable
  1, Moved some of the variables into configuration system from JWAVE scripts 2, Wave configuration system built out 3, Modularized scripts updated to accomodate wave variables
  fix module-setup.sh.inc script, which causes module purge unsuccessful
  wave configuration update
  wave configuration files
  both forecast and atm post seem to be running okay on orion
  updating module_base.orion that allows cold start to run. Not sure if other jobs will now fail though or if what is in your .bashrc file will effect the success/failure of the run.
  fix typo
  updates for tar files and do not keep data
  adding ncks, updating ocean post, some fixes for tar files
  mediator cold start succeeds on hera and forecast job starts post jobs for atmosphere are no longer triggered on cold starts
  updates to readme for orion
  updating module files on hera
  we don't want to cycle/have 4 runs per day so setting the cases to be just 1 IC
  updating module files to match s2s model and ncep post modules
  last of archive updates for p4
  updating for reorganized tar files, pulling in changes from wcoss-p2 workflow
  making a fix dir of all available ccpp suite files copying suite xml file to rundirectory
  updates for CCPP suite used in p4
  updates for ice_in to match prototype 4
  update diag_table for ocean
  renaming exe to reflect updated build
  updates for new fix (which includes prep for multiple resolutions) and some clean-up
  more updates for ICs
  updates for copying ICs
  replace MOM6IC with BASE_CPLIC for base directory location of IC for s2s model and made it platform dependent. (Orion location is temporary and needs to be replaced, can also be changed in cases/coupled_free_forecast.yaml to users prefered location)
  fixed error when linking on hera
  removing fix from .gitignore
  making Externals_coupled.cfg consistent with checkout.sh
  update UPP version to v1.0.8
  updates to checkout, build and link to run prototype 4
  automate fix file linking, to this location: /work/noaa/marine/jmeixner/tempFixICdir/fix/fix_prep_benchmark3
  expand gitignore
  case file adjustment for Orion IC
  update checkout and External.cfg
  checkout and External.cfg update
  remove HERA-like paths in platform.yaml of Orion
  port to Orion
  reiflag default value changed to 1
  generalize fix file directory for imp_physics 8
  configuration update for CCPP scripts
  turn off stochastic features in case file
  update on sandbox platform, for FIX_SCRUB settings
  delete falseful copy after namelist and model_configure parsing add FNMSKH conditional clause, coupled vs non-coupled
  stochastic variables update
  OCNTIM and ICETIM are included in config.fv3 ice variable istep0 bug fix
  stochy variable namelist update, add hard-coded variables into config.fcst (fcst.yaml)
  capital case CDUMP values in config.fv3
  add stoch variables to config.fcst scripts update: CCPP and IPD works
  merge in the latest revision from IPD work
  model_configure_DATM
  move all default values into /defaults from /schema
  clean up unused schema move default value into defaults/
  Clean up exwave_post_sbs
  Moving standalone fv3 model_config exglobal_fcst block into if/else/fi cplwav model_config block. Reinstating config.wave block in JGLOBAL_FORECAST. Pointing EXECwave to HOMEgfs/exec directory for WW3 util executables (changed link_fv3gfs.sh accordingly). Removing debug options from compile.sh line in build_fv3.sh.
  Fix to JWAVE_PREP to look back a day for rtofs
  Squashing commits to wave2global
  bug fix, POSTGRB2TBL undefined
  Pointing to v3.1 tag for ufs-s2s-model making readme consistant with user.yaml.default
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.