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

Updated ROMS Idealized and Realistic Test Cases #24

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions IRENE/Coupled_RBL4DVAR/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ They are activated in the build scripts.
links files created by the build script and needed to run **WRF**:
```
alias ltl '/bin/ls -ltHF | grep -v ^l'
```
```
### How to Compile ROMS:

- **ROMS** is the driver of the coupling system. In this application, the **WRF** Surface
Expand All @@ -168,7 +168,7 @@ They are activated in the build scripts.
The option **bulk_flux = 1** in the **ROMS** build script IS NOT RECOMMENDED FOR THIS
APPLICATION because the **bulk_flux.F** module is not tunned for Hurricane regimes,
and will get the wrong solution

To compile **ROMS** coupling (nonlinear kernel) and data assimilation kernels, use:
```
build_split.csh -nl -j 10 creates executable romsM_nl
Expand All @@ -187,7 +187,7 @@ They are activated in the build scripts.
submit.sh > & log &
```
You can modify **submit.sh** for your appropriate computer environment.

The **submit.sh** script creates the sub-directory **2011.08.27** and includes all
the required input scripts to run the **coupled/RBL4D-Var** system. The input
scripts are generated from the templates. The **submit.sh** script is quite
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/coupling_esmf_atm_sbl.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,7 @@ nDataExport(seaice) == 0 ! number of fields to export
! flag to ESMF_FieldRegridStore.
!
!------------------------------------------------------------------------------
! Melding weighting coefficients.
! Melding weighting coefficients.
!------------------------------------------------------------------------------
!
! Melding coefficients used to combine fields from DATA and ESM components.
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/coupling_esmf_atm_sbl_wmc.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ nDataExport(seaice) == 0 ! number of fields to export
! flag to ESMF_FieldRegridStore.
!
!------------------------------------------------------------------------------
! Melding weighting coefficients.
! Melding weighting coefficients.
!------------------------------------------------------------------------------
!
! Melding coefficients used to combine fields from DATA and ESM components.
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/coupling_esmf_bulk_flux.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -680,7 +680,7 @@ nDataExport(seaice) == 0 ! number of fields to export
! flag to ESMF_FieldRegridStore.
!
!------------------------------------------------------------------------------
! Melding weighting coefficients.
! Melding weighting coefficients.
!------------------------------------------------------------------------------
!
! Melding coefficients used to combine fields from DATA and ESM components.
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/irene.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#define CHARNOK

#define ATM_PRESS


/* Basic numerics options */

Expand Down
4 changes: 2 additions & 2 deletions IRENE/Coupled_RBL4DVAR/namelist.input.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
input_from_file = .true., .false., .false.,
force_use_old_data = .false.,
input_inname = "MyInpName"
bdy_inname = "MyBryName"
history_outname = "MyHisName"
bdy_inname = "MyBryName"
history_outname = "MyHisName"
history_interval = 60, 60, 60, ! minutes
frames_per_outfile = 1000, 1000, 1000,
restart = .false.,
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/roms_da_irene.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -1139,7 +1139,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests

! Input tidal forcing file name.

TIDENAME == ../../Data/ROMS/irene_roms_tides.nc
TIDENAME == ../../Data/ROMS/irene_roms_tides.nc

! Input forcing NetCDF file name(s).
!
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/roms_nl_irene.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -1139,7 +1139,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests

! Input tidal forcing file name.

TIDENAME == ../../Data/ROMS/irene_roms_tides.nc
TIDENAME == ../../Data/ROMS/irene_roms_tides.nc

! Input forcing NetCDF file name(s).
!
Expand Down
34 changes: 29 additions & 5 deletions IRENE/Coupled_RBL4DVAR/s4dvar.in
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@ balance(isVvel) = F ! 3D momentum (u, v)

tl_Tdiff == 50.0d0 50.0d0 ! NT tracers

! Duration of the Incremental Analysis Update (days) [1:Ngrids].
! NOTE: This option is only available for RBL4DVAR and when using RPCG.

timeIAU == 0.0d0

! Switches (T/F) to create and write error covariance normalization
! factors for model, initial conditions, boundary conditions, and
! surface forcing. If TRUE, these factors are computed and written
Expand Down Expand Up @@ -326,25 +331,25 @@ HdecayF(isTsur) == 100.0d+3 100.0d+3 ! 1:NT surface tracers flux
! error has the similar field profile shape, but the difference with its
! ture error value is due to a vertical displacement.
!
! If COMPUTE_MLD is activated, the mixed-layer depth is computes using the
! If COMPUTE_MLD is activated, the mixed-layer depth is computed using the
! criterion from kara et al. (2000). Otherwise, it will be set to uniform
! value provided below.

Sigma_max(isFsur) == 0.025d0 ! free surface maximum STD value

Sigma_max(isUvel) == 0.06d0 ! U-velocity maximum STD value
Sigma_ml(isUvel) == 0.05d0 ! U-velocity minimum STD at mixed layer
Sigma_do(isUvel) == 0.02d0 ! U-velocity minimum STD in deep ocean
Sigma_do(isUvel) == 0.02d0 ! U-velocity minimum STD in deep ocean
Sigma_dz(isUvel) == 500.0d0 ! U-velocity vertical displacement

Sigma_max(isVvel) == 0.06d0 ! V-velocity maximum STD
Sigma_ml(isVvel) == 0.05d0 ! V-velocity minimum STD at mixed layer
Sigma_do(isVvel) == 0.02d0 ! V-velocity minimum STD in deep ocean
Sigma_do(isVvel) == 0.02d0 ! V-velocity minimum STD in deep ocean
Sigma_dz(isVvel) == 500.0d0 ! V-velocity vertical displacement

Sigma_max(isTvar) == 0.33d0 0.056d0 ! 1:NT tracers maximum STD
Sigma_ml(isTvar) == 0.05d0 0.05d0 ! 1:NT tracers minimum STD at mixed layer
Sigma_do(isTvar) == 0.02d0 0.0028d0 ! 1:NT tracers minimum STD in deep ocean
Sigma_do(isTvar) == 0.02d0 0.0028d0 ! 1:NT tracers minimum STD in deep ocean
Sigma_dz(isTvar) == 40.0d0 40.0d0 ! 1:NT tracer vertical displacement

mld_uniform == -75.0d0 ! Uniform mixed layer depth value
Expand Down Expand Up @@ -711,6 +716,25 @@ Sigma_max(isTvar) == 0.33d0 0.056d0 ! 1:NT tracers maximum STD
! (m2/s). NT values are expected.
!
!------------------------------------------------------------------------------
! Incremental Analysis Update (IAU)
!------------------------------------------------------------------------------
!
! timeIAU Duration of the Incremental Analysis Update (days),
! [1:Ngrids]. It controls the time interval over which
! the IAU is applied.
!
! This option is only available for RBL4DVAR and when using
! RPCG minimizer.
!
! In SPLIT_RBL4DVAR, you can the analysis phase multiple
! times experimenting with different values of timeIAU
! to see which works best, without having to rerun the
! inner-loops again (increment phase). You can only do
! this if SPLIT_RBL4DVAR is first run with a non-zero
! value of timeIAU, otherwise the initial condition will
! get overwritten in the initial NetCDF file.
!
!------------------------------------------------------------------------------
! Background/model correlation parameters.
!------------------------------------------------------------------------------
!
Expand Down Expand Up @@ -896,7 +920,7 @@ Sigma_max(isTvar) == 0.33d0 0.056d0 ! 1:NT tracers maximum STD
!
! Sigma_ml(:) Minimum STD at mixed layer
!
! Sigma_do(:) Minimum STD in deep ocean
! Sigma_do(:) Minimum STD in deep ocean
!
! Sigma_dz(:) Vertical profile displacement
!
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupled_RBL4DVAR/submit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ while [ "$(bc <<< "$SDAY <= $L_DN")" == "1" ]; do
done

end=() # WRF end simulation time
i=0 # integer vector
i=0 # integer vector
for element in ${StopTime// / }; do # (YYYY MM DD hh mm ss)
end[$i]=${element}
((i=$i+1))
Expand Down
12 changes: 6 additions & 6 deletions IRENE/Coupling/data_wrf_roms/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
This directory includes various files to run the **DATA-WRF-ROMS**
coupling system for Hurricane Irene using the **ESMF/NUOPC** library. It
uses our Coupled Forecast Framework (**CFF**) configuration for the
US East Coast **`CFF-EC7`** (**ROMS** 7km grid), and the simulation is
US East Coast **`CFF-EC7`** (**ROMS** 7km grid), and the simulation is
only run for 42 hours as Hurricane Irene approached the Outer Banks
of North Carolina on August 27, 2011.

Expand All @@ -26,7 +26,7 @@ diagnostics.

All the components interact with the same coupling time step.
The connector from **ROMS** to **WRF** is explicit, whereas the connector
from **WRF** to **ROMS** is semi-implicit.
from **WRF** to **ROMS** is semi-implicit.

It uses **ROMS**'s native, **NUOPC**-based coupling system. For more information,
visit **WikiROMS**:
Expand Down Expand Up @@ -143,7 +143,7 @@ They are activated in the build scripts.
links files created by the build script and needed to run **WRF**:
```
alias ltl '/bin/ls -ltHF | grep -v ^l'
```
```
### How to Compile ROMS:

- **ROMS** is the driver of the coupling system. In this application, the **WRF** Surface
Expand All @@ -156,7 +156,7 @@ They are activated in the build scripts.
The option **bulk_flux = 1** in the **ROMS** build script IS NOT RECOMMENDED FOR THIS
APPLICATION because the **bulk_flux.F** module is not tunned for Hurricane regimes,
and will get the wrong solution

To compile **ROMS**, use:
```
build_roms.csh -j 10
Expand All @@ -167,7 +167,7 @@ They are activated in the build scripts.
submit.sh > & log &
```
You can modify **submit.sh** for your appropriate computer environment.

### The output Files:

- Standard Output Files:
Expand All @@ -180,7 +180,7 @@ They are activated in the build scripts.
```

- **ROMS** NetCDF Files:

```
irene_avg.nc 6-hour averages
irene_his.nc hourly history
Expand Down
4 changes: 2 additions & 2 deletions IRENE/Coupling/data_wrf_roms/cbuild_roms.csh
Original file line number Diff line number Diff line change
Expand Up @@ -378,10 +378,10 @@ if ( $dprint == 0 ) then
echo ""
cd src
git checkout $branch_name

# If we are using the COMPILERS from the ROMS source code
# overide the value set above

if ( ${COMPILERS} =~ ${MY_ROMS_SRC}* ) then
setenv COMPILERS ${MY_PROJECT_DIR}/src/Compilers
endif
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms/cbuild_roms.sh
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ if [ $dprint -eq 0 ]; then

# If we are using the COMPILERS from the ROMS source code
# overide the value set above

if [[ ${COMPILERS} == ${MY_ROMS_SRC}* ]]; then
export COMPILERS=${MY_PROJECT_DIR}/src/Compilers
fi
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms/irene.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#define CHARNOK

#define ATM_PRESS


/* Basic numerics options */

Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms/roms_irene.in
Original file line number Diff line number Diff line change
Expand Up @@ -1140,7 +1140,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests

! Input tidal forcing file name.

TIDENAME == ../../Data/ROMS/irene_roms_tides.nc
TIDENAME == ../../Data/ROMS/irene_roms_tides.nc

! Input forcing NetCDF file name(s).
!
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms/submit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ fi
##---------------------------------------------------------------------

if [ ${BATCH} -eq 1 ]; then
${SRUN} ${ROMS_EXE} ${ESMFinp} > log.wrf 2>&1
${SRUN} ${ROMS_EXE} ${ESMFinp} > log.wrf 2>&1
else
${MPIrun} ${nPETs} ${ROMS_EXE} ${ESMFinp} > log.wrf 2>&1
fi
Expand Down
20 changes: 10 additions & 10 deletions IRENE/Coupling/data_wrf_roms_wmc/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ coupling system for Hurricane Irene using the **ESMF/NUOPC** library. It
uses our Coupled Forecast Framework (**CFF**) configuration for the
US East Coast **`CFF-EC7`** (**ROMS** 7km grid), and the simulation is only
run for 42 hours as Hurricane Irene approached the Outer Banks
of North Carolina on August 27, 2011.
of North Carolina on August 27, 2011.

This test is a variant of the one available in [data_wrf_roms](../data_wrf_roms)
since **ROMS** and **DATA** export surface ocean currents to compute the
effective surface wind forcing by subtracting surface ocean currents from
**WRF** surface wind.
**WRF** surface wind.

<img width="940" alt="image" src="https://github.com/myroms/roms_test/assets/23062912/43010527-1cb7-4ba0-aec4-a888f46369c4">

Expand All @@ -30,7 +30,7 @@ activating the **RAMS**-averaged diagnostics.

All the components interact with the same coupling time step.
The connector from **ROMS** to **WRF** is explicit, whereas the connector
from **WRF** to **ROMS** is semi-implicit.
from **WRF** to **ROMS** is semi-implicit.

It uses **ROMS**'s native, **NUOPC**-based coupling system. For more information,
visit **WikiROMS**:
Expand All @@ -41,7 +41,7 @@ https://www.myroms.org/wiki/Model_Coupling_ESMF

As shown by Renault _et al._ (2016), the feedback from surface ocean currents to
the atmosphere is an eddy-killing effect stabilizing the Gulf Stream separation
at Cape Hatteras in **WRF-ROMS** fully coupled applications. The result is
at Cape Hatteras in **WRF-ROMS** fully coupled applications. The result is
around 0.3 N/m2 weaker surface wind stress in the core of the Gulf Stream. Since
**ROMS** doesn't cover all the ocean points in the **WRF** grid, a **DATA**
component is used to supply those values from the 3-hour **HyCOM** dataset.
Expand Down Expand Up @@ -120,7 +120,7 @@ They are activated in the build scripts.
coupling_esmf_wrf.yaml Coupling fields exchange YAML metadata
irene.h ROMS header file
namelist.input WRF standard input script
plot_debug.m Matlab plotting driver for debugging (for DebugLevel=3)
plot_debug.m Matlab plotting driver for debugging (for DebugLevel=3)
plot_esmf.m Matlab plotting script for field maps (for DebugLevel=3)
rbl4dvar.in ROMS observation input script
roms_irene.in ROMS standard input script
Expand All @@ -129,7 +129,7 @@ They are activated in the build scripts.
```

- To download **WRF** latest forked repository, you may use:
-
-
```
git clone https://github.com/myroms/WRF
```
Expand Down Expand Up @@ -183,7 +183,7 @@ They are activated in the build scripts.
links files created by the build script and needed to run **WRF**:
```
alias ltl '/bin/ls -ltHF | grep -v ^l'
```
```
### How to Compile ROMS:

- **ROMS** is the driver of the coupling system. In this application, the **WRF** Surface
Expand All @@ -196,7 +196,7 @@ They are activated in the build scripts.
The option **bulk_flux = 1** in the **ROMS** build script IS NOT RECOMMENDED FOR THIS
APPLICATION because the **bulk_flux.F** module is not tunned for Hurricane regimes,
and will get the wrong solution

To compile **ROMS**, use:
```
build_roms.csh -j 10
Expand All @@ -207,7 +207,7 @@ They are activated in the build scripts.
submit.sh > & log &
```
You can modify **submit.sh** for your appropriate computer environment.

### Debugging:

The **ROMS** native coupling framework allows writing the selected exchange fields in
Expand Down Expand Up @@ -265,7 +265,7 @@ exporting surface ocean currents. An example of the figures generated and shown
```

- **ROMS** NetCDF Files:

```
irene_avg.nc 6-hour averages
irene_his.nc hourly history
Expand Down
4 changes: 2 additions & 2 deletions IRENE/Coupling/data_wrf_roms_wmc/cbuild_roms.csh
Original file line number Diff line number Diff line change
Expand Up @@ -380,10 +380,10 @@ if ( $dprint == 0 ) then
echo ""
cd src
git checkout $branch_name

# If we are using the COMPILERS from the ROMS source code
# overide the value set above

if ( ${COMPILERS} =~ ${MY_ROMS_SRC}* ) then
setenv COMPILERS ${MY_PROJECT_DIR}/src/Compilers
endif
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms_wmc/cbuild_roms.sh
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ if [ $dprint -eq 0 ]; then

# If we are using the COMPILERS from the ROMS source code
# overide the value set above

if [[ ${COMPILERS} == ${MY_ROMS_SRC}* ]]; then
export COMPILERS=${MY_PROJECT_DIR}/src/Compilers
fi
Expand Down
2 changes: 1 addition & 1 deletion IRENE/Coupling/data_wrf_roms_wmc/irene.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#define CHARNOK

#define ATM_PRESS


/* Basic numerics options */

Expand Down
Loading