E3SM-Project / scream

Fork of E3SM used to develop exascale global atmosphere model written in C++
https://e3sm-project.github.io/scream/
Other
80 stars 56 forks source link

Convert DP-SCREAM to C++ #2387

Open bogensch opened 1 year ago

bogensch commented 1 year ago

DP-SCREAM needs to be converted into C++ and integrated into v1. This list is currently not complete and will be updated.

v0 Routines that need to be converted to C++. All subroutines in all of these files need to be converted (to my knowledge, this list is complete). 1) components/eam/src/control/apply_iop_forcing.F90 2) components/eam/src/dynamics/se/se_iop_intr_mod.F90 3) components/eam/src/control/iop_data_mod.F90 4) components/eam/src/control/history_iop.F90

Pieces/snippets of code in v0 that needs to be incorporated into v1 AD: NEEDS TO BE ADDED/UPDATED

Running v0 DP-SCREAM to generate baseline case/data: https://github.com/E3SM-Project/scmlib/wiki/Running-the-DP-SCREAM-Configuration My recommendation is to use the DYCOMS-RF01 case to start with. Alternatively, run the CIME smoke test:

CIME smoke DP-SCREAM smoke test: SMS_R_Ln10.ne4_ne4.FDPSCREAM-ARM97

tcclevenger commented 11 months ago

https://github.com/E3SM-Project/scream/pull/2587 merged. Added IOP class, DP unit test, and hooks to AD for reading IC file of arbitrary size (test is ne4) into grid for IOP case.

Next PR is for reading IOP data file and finish setting all initial conditions using this data (surface coupler, homme states, shoc grid size, among others).