Ok just summarising my latest progress.
Remember I had trouble running @Helen’s original configuration (140 x 249 Tasmanian domain at 0.05 resolution requesting 100 CPUs on a 10x10 layout) so I attempted to incrementally change @mmr 's original config (70x125 at 0.1 with 16 CPUs on a 4x4)
I’ve been able to run @mmr0 's configuration for the following layouts:
Layout | Runtime |
---|---|
4x4 | 09:48 |
8x8 | 05:12 |
10x10 | 04:07 |
12x12 | 03:49 |
All of these worked with no mask table in MOM_layout
I then regenerated the 10x10 layout but using the higher resolution grid (i.e 140x249 (0.05 resolution).
This first failed with :
FATAL from PE 20: Discrepancy detected between ESMF mesh and internal MOM6 domain sizes. Check mask table.
So I added back the MASKTABLE
entry in MOM_layout
MASKTABLE = mask_table.2.10x10
Ran again. This failed with
FATAL from PE 3: ERROR: Difference between ESMF Mesh and MOM6 domain coords is greater than parameter EPS_OMESH. n, lonMesh(n), lon
(n), diff_lon, EPS_OMESH= 1 147.2500000000000 145.1250000000000 0.21250D+01 0.10000D-03
This implies the grids aren’t aligned.
As an aside, I did a diff on the two directories:
- The first created using Helen’s instructions
- The second created by incrementally moving from Madi’s configuration into Helen’s.
The diffs of consequence are:
diff access-rom3-PG/datm_in access-rom3-MR-10by10-hires/datm_in
11,12c11,12
< model_maskfile = "./INPUT/access-rom3-ESMFmesh.nc"
< model_meshfile = "./INPUT/access-rom3-ESMFmesh.nc"
---
> model_maskfile = "./INPUT/access-rom3-nomask-ESMFmesh.nc"
> model_meshfile = "./INPUT/access-rom3-nomask-ESMFmesh.nc"
Only in access-rom3-MR-10by10-hires/: docs
diff access-rom3-PG/drof_in access-rom3-MR-10by10-hires/drof_in
3,4c3,4
< model_maskfile = "./INPUT/access-rom3-ESMFmesh.nc"
< model_meshfile = "./INPUT/access-rom3-ESMFmesh.nc"
---
> model_maskfile = "./INPUT/access-rom3-nomask-ESMFmesh.nc"
> model_meshfile = "./INPUT/access-rom3-nomask-ESMFmesh.nc"
i.e. Madi’s config uses the nomask
mesh file.
There are also differences in MOM_input
regarding OBC_SEGMENT
definitions
diff access-rom3-PG/MOM_input access-rom3-MR-10by10-hires/MOM_input
109a110,133
> OBC_SEGMENT_001 = "J=0,I=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
> ! Documentation needs to be dynamic?????
> OBC_SEGMENT_001_VELOCITY_NUDGING_TIMESCALES = 0.3, 360.0 ! [days] default = 0.0
> ! Timescales in days for nudging along a segment, for inflow, then outflow.
> ! Setting both to zero should behave like SIMPLE obcs for the baroclinic
> ! velocities.
> OBC_SEGMENT_002 = "J=N,I=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
> ! Documentation needs to be dynamic?????
> OBC_SEGMENT_002_VELOCITY_NUDGING_TIMESCALES = 0.3, 360.0 ! [days] default = 0.0
> ! Timescales in days for nudging along a segment, for inflow, then outflow.
> ! Setting both to zero should behave like SIMPLE obcs for the baroclinic
> ! velocities.
> OBC_SEGMENT_003 = "I=0,J=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
> ! Documentation needs to be dynamic?????
> OBC_SEGMENT_003_VELOCITY_NUDGING_TIMESCALES = 0.3, 360.0 ! [days] default = 0.0
> ! Timescales in days for nudging along a segment, for inflow, then outflow.
> ! Setting both to zero should behave like SIMPLE obcs for the baroclinic
> ! velocities.
> OBC_SEGMENT_004 = "I=N,J=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
> ! Documentation needs to be dynamic?????
> OBC_SEGMENT_004_VELOCITY_NUDGING_TIMESCALES = 0.3, 360.0 ! [days] default = 0.0
> ! Timescales in days for nudging along a segment, for inflow, then outflow.
> ! Setting both to zero should behave like SIMPLE obcs for the baroclinic
> ! velocities.
242a267,275
> OBC_SEGMENT_001_DATA = "U=file:forcing_obc_segment_001.nc(u),V=file:forcing_obc_segment_001.nc(v),SSH=file:forcing_obc_segment_001.nc(eta),TEMP=file:forcing_obc_segment_001.nc(temp),SALT=file:forcing_obc_segment_001.nc(salt)" !
> ! OBC segment docs
> OBC_SEGMENT_002_DATA = "U=file:forcing_obc_segment_002.nc(u),V=file:forcing_obc_segment_002.nc(v),SSH=file:forcing_obc_segment_002.nc(eta),TEMP=file:forcing_obc_segment_002.nc(temp),SALT=file:forcing_obc_segment_002.nc(salt)" !
> ! OBC segment docs
> OBC_SEGMENT_003_DATA = "U=file:forcing_obc_segment_003.nc(u),V=file:forcing_obc_segment_003.nc(v),SSH=file:forcing_obc_segment_003.nc(eta),TEMP=file:forcing_obc_segment_003.nc(temp),SALT=file:forcing_obc_segment_003.nc(salt)" !
> ! OBC segment docs
> OBC_SEGMENT_004_DATA = "U=file:forcing_obc_segment_004.nc(u),V=file:forcing_obc_segment_004.nc(v),SSH=file:forcing_obc_segment_004.nc(eta),TEMP=file:forcing_obc_segment_004.nc(temp),SALT=file:forcing_obc_segment_004.nc(salt)" !
> ! OBC segment docs
i.e. Helen’s MOM_layout
is missing all OBC_SEGMENT
information (is this correct? Did I delete this accidentally?)
Anyway - I’ll do a check on the lat/lon co-ordinates of the mesh files in Madi’s config and see if I can figure out the source of the error.
To run Madi’s config at 0.05 resolution with 140x249, do I need to change the mask file to use the `nomask’ version?