Skip to content

Update GOCART to v2.4.3 #2819

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

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from

Conversation

bbakernoaa
Copy link
Collaborator

@bbakernoaa bbakernoaa commented Jul 21, 2025

Commit Queue Requirements:

  • Fill out all sections of this template.
  • All sub component pull requests have been reviewed by their code managers.
  • Run the full Intel+GNU RT suite (compared to current baselines) on either Hera/Derecho/Hercules
  • Commit 'test_changes.list' from previous step

Description:

This pull request updates the GOCART model to v2.4.3 to address a numerical instability issue. It also introduces significant updates to the GOCART aerosol model configuration files, focusing on dust parameterization, wet removal schemes, and file references for input data to be inline with GCAFSv1. The changes aim to improve accuracy and flexibility in the model's handling of aerosol processes. Below is a summary of the most important changes grouped by theme:

Updates to Dust Parameterization:

  • Updated input file references for dust parameters (DU_CLAY, DU_SAND, DU_UTHRES, DU_RDRAG, DU_GVF, and DU_LAI) to use newer datasets from the ExtData/nexus/FENGSHA directory for improved data quality.

Wet Removal Scheme Enhancements:

  • Introduced a new wet_removal_scheme option (ufs) across multiple configuration files (CA2G_instance_CA.bc.rc, CA2G_instance_CA.oc.rc, DU2G_instance_DU.rc, and SS2G_instance_SS.rc). Added rainout efficiency parameters (fwet_ice, fwet_snow, fwet_rain) for better handling of aerosol scavenging. [1] [2] [3] [4]

File and Parameter Reassignments:

  • Swapped resource file references between tests/parm/gocart/CA2G_instance_CA.oc.rc and DU2G_instance_DU.rc, effectively reassigning dust and organic carbon parameters to their correct configuration files. [1] [2]

These changes collectively enhance the GOCART model's capability to simulate aerosol processes with updated datasets, improved parameterization, and expanded options for wet removal mechanisms.

Commit Message:

* UFSWM - 
  * AQM - 
  * CDEPS - 
  * CICE - 
  * CMEPS - 
  * CMakeModules - 
  * FV3 - 
    * ccpp-physics - 
    * atmos_cubed_sphere - 
  * GOCART - updated to GOCART v2.4.3
  * HYCOM - 
  * MOM6 - 
  * NOAHMP - 
  * WW3 - 
  * fire_behavior
  * stochastic_physics - 

Priority:

  • Critical Bugfix: Instability in settling velocity causing undo growth in seasalt in highly convective regions.

Git Tracking

UFSWM:

Sub component Pull Requests:

UFSWM Blocking Dependencies:

  • Blocked by #
  • None

Documentation:

  • No documentation update is required for this PR: change of module hash.

Changes

Regression Test Changes (Please commit test_changes.list):

  • PR Updates/Changes Baselines.

Input data Changes:

  • New input data.
  • Updated input data.

As #2817 states we should sync the inputs to the same as needed for GCAFSv1. At this point only the dust inputs have changed for the RT.

Library Changes/Upgrades:


Testing Log:

  • RDHPCS
    • Hera
    • Orion
    • Hercules
    • GaeaC6
    • Derecho
    • Ursa
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
  • opnReqTest (complete task if unnecessary)

@dpsarmie dpsarmie added Baseline Updates Current baselines will be updated. Priority: High input data change Input data change labels Jul 21, 2025
@dpsarmie
Copy link
Collaborator

@jkbk2004, this is one of the other priority PRs that we discussed for GW/GFS, just putting it on your radar.

@JessicaMeixner-NOAA
Copy link
Collaborator

I have confirmed this solves the g-w PR issue, see: NOAA-EMC/global-workflow#3840 (comment) for test results. Thanks @bbakernoaa !!!!

@bbakernoaa bbakernoaa marked this pull request as ready for review July 22, 2025 16:16
@bbakernoaa
Copy link
Collaborator Author

@dpsarmie this is making its way steadily though the RTs on GAEA c6 for me. What should I do next

@dpsarmie
Copy link
Collaborator

@dpsarmie this is making its way steadily though the RTs on GAEA c6 for me. What should I do next

Great! Once the RTs are completed, just upload the test_changes.list file to the PR. Jong and EPIC will ask you to update the branch once this is ready to be tested/merged. This is scheduled to be the next PR after #2814 is merged. There's a chance that this PR is combined with another PR but we can work through that if that happens.

@bbakernoaa
Copy link
Collaborator Author

bbakernoaa commented Jul 24, 2025

@dpsarmie I uploaded the test_changes.list

One note that I did have to add the path to the new input files in the AERO_ExtData.rc files for Ursa. Other machines will need this to be synced as well for the RT inputs.

directory on URSA: /scratch4/NCEPDEV/naqfc/Barry.Baker/models/ufswm-gocart/tests

@dpsarmie
Copy link
Collaborator

@dpsarmie I uploaded the test_changes.list

One note that I did have to add the path to the new input files in the AERO_ExtData.rc files for Ursa. Other machines will need this to be synced as well for the RT inputs.

Ok, sounds good, thanks. There will be some coordination needed with @jkbk2004 to have the inputs synced across machines and then you can revert those Ursa-specific changes. (If I'm understanding everything correctly)

@bbakernoaa
Copy link
Collaborator Author

@dpsarmie I uploaded the test_changes.list
One note that I did have to add the path to the new input files in the AERO_ExtData.rc files for Ursa. Other machines will need this to be synced as well for the RT inputs.

Ok, sounds good, thanks. There will be some coordination needed with @jkbk2004 to have the inputs synced across machines and then you can revert those Ursa-specific changes. (If I'm understanding everything correctly)

You are! Thanks @dpsarmie

@FernandoAndrade-NOAA
Copy link
Collaborator

Please resync and resolve conflicts, thank you.

@jkbk2004
Copy link
Collaborator

@bbakernoaa @dpsarmie a question about location of new input files, ExtData/nexus. It sounds like under @[INPUTDATA_ROOT]/GOCART/p8/ExtData and @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData. In current test system, a few spots where ExtData is linked up.

./fv3_conf/control_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/p8/ExtData .
./fv3_conf/noahmp_run.IN:      ln -sf  @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
./fv3_conf/cpld_control_run.IN:        ln -sf  @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
./fv3_conf/lake_control_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/ExtData .
./fv3_conf/wam_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/p8/ExtData .

@bbakernoaa
Copy link
Collaborator Author

@jkbk2004 The files are currently placed in each machine in the fix directory for the global-workflow. We should copy these files to the respective @[INPUTDATA_ROOT]/GOCART/ExtData and @[INPUTDATA_ROOT]/GOCART/p8/ExtData locations as they are needed to test the configuration for GCAFSv1.

@bbakernoaa
Copy link
Collaborator Author

bbakernoaa commented Jul 30, 2025

@bbakernoaa @dpsarmie a question about location of new input files, ExtData/nexus. It sounds like under @[INPUTDATA_ROOT]/GOCART/p8/ExtData and @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData. In current test system, a few spots where ExtData is linked up.

./fv3_conf/control_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/p8/ExtData .
./fv3_conf/noahmp_run.IN:      ln -sf  @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
./fv3_conf/cpld_control_run.IN:        ln -sf  @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
./fv3_conf/lake_control_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/ExtData .
./fv3_conf/wam_run.IN:  ln -sf  @[INPUTDATA_ROOT]/GOCART/p8/ExtData .

what exactly is the question at hand?

Files needed to be synced

Three files will need to be copied (new data not in place of):

  • FENGSHA_New_Method_NESDISv1.1_9km.nc
  • FENGSHA_GVF_LAI2.nc
  • FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc

The pick up location for the data is on URSA:

  • /scratch3/NCEPDEV/global/role.glopara/data/GEFS_ExtData/20250310/nexus/FENGSHA/FENGSHA_New_Method_NESDISv1.1_9km.nc
  • /scratch3/NCEPDEV/global/role.glopara/data/GEFS_ExtData/20250310/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc
  • /scratch3/NCEPDEV/global/role.glopara/data/GEFS_ExtData/20250310/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc

Copy to RT INPUTDATA_ROOT locations

Copy to all ExtData/dust locations (URSA locations shown as examples):

  • /scratch4/NAGAPE/epic/role-epic/UFS-WM_RT/NEMSfv3gfs/input-data-20250507/GOCART/p8c_5d/ExtData/dust/
  • /scratch4/NAGAPE/epic/role-epic/UFS-WM_RT/NEMSfv3gfs/input-data-20250507/GOCART/p8/ExtData/dust/
  • '/scratch4/NAGAPE/epic/role-epic/UFS-WM_RT/NEMSfv3gfs/input-data-20250507/GEFS/ExtData/dust/'

@bbakernoaa
Copy link
Collaborator Author

@jkbk2004 do you want me to update the PR to assume these files are in the respective locations and not hard coded here?

@jkbk2004
Copy link
Collaborator

./fv3_conf/lake_control_run.IN: ln -sf @[INPUTDATA_ROOT]/GOCART/ExtData .

@bbakernoaa All clear to me. I am rsyncing across machines. I think we need to clean up the line ./fv3_conf/lake_control_run.IN: ln -sf @[INPUTDATA_ROOT]/GOCART/ExtData . . It's not much to do with this pr. I will make sure.

@jkbk2004
Copy link
Collaborator

@BrianCurtis-NOAA you can rsync from /scratch3/NAGAPE/epic/role.epic/UFS-WM_RT/NEMSfv3gfs/input-data-20250507/GOCART/p8/ExtData/dust and p8c_5d/ExtData/dust

@FernandoAndrade-NOAA
Copy link
Collaborator

@jkbk2004 do you want me to update the PR to assume these files are in the respective locations and not hard coded here?

Yes please update the file paths, thank you.

Update to relative paths to support all machines
@jkbk2004
Copy link
Collaborator

@bbakernoaa can you update tests/parm/gocart/AERO_ExtData.rc as well?

@jkbk2004 jkbk2004 added jenkins-ort run ORT testing In Testing The PR that is currently in testing stages labels Jul 31, 2025
@jkbk2004
Copy link
Collaborator

@BrianCurtis-NOAA We need /scratch3/NAGAPE/epic/role.epic/UFS-WM_RT/NEMSfv3gfs/input-data-20250507/GEFS/ExtData/dust for cpld_control_gefs_intel.

@BrianCurtis-NOAA
Copy link
Collaborator

@jkbk2004 can you ensure the PR contains updated input-data change information, so that anyone who comes back to this PR knows what the exact changes were?

@DeniseWorthen
Copy link
Collaborator

And a good commit message would also help.

@BrianCurtis-NOAA
Copy link
Collaborator

On WCOSS2 cpld_control_gefs_intel a bunch of:

pe=00258 FAIL at line=01913    ExtDataGridCompMod.F90                   <File /ExtData/dust/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc not found>

Yet I have the file:

emc.nems@clogin09:/lfs/h2/emc/nems/noscrub/emc.nems/RT/NEMSfv3gfs/input-data-20250507> ls -alh GEFS/ExtData/dust/
total 689M
drwxr-sr-x 2 emc.nems nems 4.0K Jul 31 11:36 .
drwxrwsr-x 8 emc.nems nems 4.0K Jul 31 11:34 ..
-rw-r--r-- 1 emc.nems nems  57M Jul 31 11:36 FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc
-rw-r--r-- 1 emc.nems nems 126M Jul 31 11:36 FENGSHA_GVF_LAI2.nc
-rw-r--r-- 1 emc.nems nems 508M Jul 31 11:36 FENGSHA_New_Method_NESDISv1.1_9km.nc

@jkbk2004
Copy link
Collaborator

@BrianCurtis-NOAA @FernandoAndrade-NOAA fixed /ExtData issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Baseline Updates Current baselines will be updated. In Testing The PR that is currently in testing stages input data change Input data change jenkins-ort run ORT testing Priority: High
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update GOCART RT inputs GOCART Settling issue
7 participants