Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
538 commits
Select commit Hold shift + click to select a range
2e2091f
Fix masking for initial state plotting
xylar Apr 7, 2020
a5e679f
Recommended changes by Xylar
mark-petersen Apr 7, 2020
2d5f6f1
First cut, 2/1 Atl/Pac region
mark-petersen Apr 8, 2020
45193e5
Masks working
mark-petersen Apr 8, 2020
0847dc7
Move soma/Xkm/32toXkm test cases to "broken"
xylar Apr 8, 2020
3c31625
Add missing define_vertical_trid.py links
xylar Apr 8, 2020
00944ce
Use conda env gpmetis for surface_waves/thickness_source/1km
xylar Apr 8, 2020
83beb53
Creates ARM mesh
mark-petersen Apr 8, 2020
f69240d
pep8
mark-petersen Apr 8, 2020
e7938f6
Plotting complete
mark-petersen Apr 8, 2020
2301ece
update variable
mark-petersen Apr 8, 2020
24e11d9
Detect MPI from a conda environment setup_testcase.py
xylar Mar 20, 2020
d8b7e48
Update scripts to remove some subprocess calls
xylar Mar 19, 2020
f3fd7c7
Update compass environment version
xylar Mar 25, 2020
ffea463
Add full mpirun path to ESMF_RegridWeightGen calls
xylar Mar 26, 2020
b58a72b
Add mpi_conda to planar_hex calls
xylar Apr 9, 2020
835bccb
Copy define_base_mesh.py in 5 more test cases
xylar Apr 9, 2020
a189082
Fix path to analysis scripts and data in coastal tests
xylar Apr 9, 2020
d3f304d
Passes restart with these changes.
mark-petersen Apr 9, 2020
fdf99a6
Optionally add links to load_compass_env.sh in test cases
xylar Mar 26, 2020
1135fc8
add link_load_compass to general.config.ocean
xylar Mar 26, 2020
8dd6f09
Merge PR #515 'mark-petersen/atlantic_refined_mesh' into ocean/develop
mark-petersen Apr 10, 2020
208aac3
Merge PR #492 'xylar/add_load_compass_env_to_test_cases' into ocean/d…
mark-petersen Apr 10, 2020
e9a349e
Use default and case-specific config files
xylar Apr 2, 2020
c85a359
Add mesh metadata to mesh file (and output)
xylar Apr 3, 2020
eeedfd3
Add config files for QU240 init cases
xylar Apr 3, 2020
93f1e8b
Fix multi-line mesh metadata
xylar Apr 3, 2020
a8d2254
Several changes to formatting
xylar Apr 4, 2020
0fad3c7
Add config files for remaining 3 test cases
xylar Apr 4, 2020
79ffa5f
Update to somewhat shorter version of short name
xylar Apr 6, 2020
4b8e784
Update mesh metadata based on latest discussion
xylar Apr 7, 2020
46122e3
Use short name, not long name for mapping files
xylar Apr 7, 2020
f5be108
fix linked filename
mark-petersen Apr 10, 2020
988cd4a
Print and optionally detect both short and long names
xylar Apr 10, 2020
20a80e1
Fixed config_soma_surface_temperature from 15 to 20 deg C
Nov 18, 2019
75615f9
Add omp directives and test cases. Still not bfb threading
mark-petersen Apr 13, 2020
556dcbf
COMPASS thread case
mark-petersen Apr 14, 2020
8a9020c
Correct threading bug. Now passes bfb 1 vs 2 threads.
mark-petersen Apr 14, 2020
bf55876
Update Redi convergence and idealized cases
mark-petersen Apr 16, 2020
97462e7
Merge PR #445 'luke/ocean/rediFixesAndNewTapering' into ocean/develop
mark-petersen Apr 16, 2020
86ad846
Fix missing MLD stream in many test cases
xylar Apr 18, 2020
54b15a5
Add global status stream where needed
xylar Apr 18, 2020
dfd30ae
Link to forcing_data.nc to prefent non-fatal errors in ssh adjustment
xylar Apr 18, 2020
415a67a
Generalize EC cell widths function
xylar Apr 12, 2020
afc1f64
Improve plotting of cell widths in define_base_mesh
xylar Apr 12, 2020
835e5fc
Buffer mask for signed distance by dlat
xylar Apr 16, 2020
a34cede
Merge PR #524 'xylar/ocean/fix_spin_ups' into ocean/develop
mark-petersen Apr 20, 2020
1c58e9a
Tighten plotting and add more colormap support
xylar Apr 20, 2020
36efcf8
Add min and max to plot title
mark-petersen Apr 20, 2020
c5cad9e
Merge PR #526 'xylar/ocean/generalize_ec' into ocean/develop
mark-petersen Apr 20, 2020
3487178
Fix COMPASS links
mark-petersen Apr 20, 2020
1f833a6
remove ARM60to6
mark-petersen Apr 21, 2020
28ac756
Remove CUSP8
mark-petersen Apr 21, 2020
83c4f6f
QU60
mark-petersen Apr 21, 2020
79c7638
Remove SOQU60to15
mark-petersen Apr 21, 2020
b8f38b5
Change ARM colormap
mark-petersen Apr 21, 2020
96ea3f6
Support all SciVisColor colormaps
xylar Apr 21, 2020
988ff49
Update SOwISC to be coarser in southern hemisphere
xylar Apr 12, 2020
fb383bc
Reduce high-res equitorial region to 15 degrees from 30
xylar Apr 14, 2020
f57f774
Add a higher res region around Greenland
xylar Apr 16, 2020
03ef1f6
Update contours for NA/Arctic high res
xylar Apr 16, 2020
7bc9709
Update mesh description
xylar Apr 17, 2020
1601fad
Fix PIO tasks for "test" step
xylar Apr 18, 2020
327d896
Fix name of masked scrip file
xylar Apr 21, 2020
cb1da9f
Merge PR #529 'me/ocean/compass_cleanup' into ocean/develop
mark-petersen Apr 21, 2020
eabadc9
Merge PR #531 'ocean/ARM_update' into ocean/develop
mark-petersen Apr 21, 2020
63c0dc3
Add a daily output test case to QU240
xylar Apr 23, 2020
290397f
SOwISC12to60E2r02: Update spin-up config
xylar Apr 21, 2020
eabfa66
Additional topographic smoothing
xylar Apr 28, 2020
aa35ce6
Merge PR #535 'xylar/add_QU240_time_daily_mean' into ocean/develop
mark-petersen Apr 28, 2020
6015ed0
Merge PR #530 'ocean/remove_unused_cases' into ocean/develop
mark-petersen Apr 28, 2020
63c6aa1
Update CUSP to use signed distance and new colormaps
mark-petersen Apr 17, 2020
a77b569
SOwISC12to60E2r03: Version of SOwISC with 60 vertical levels
xylar Apr 29, 2020
adc2a4d
Update to the compass env v0.1.4
xylar Apr 19, 2020
62a1e8e
Add grizzly and badger compute nodes to load compass script
xylar Apr 20, 2020
d8d444c
Merge PR #542 'xylar/update_to_compass_0.1.4' into ocean/develop
mark-petersen Apr 30, 2020
8077160
Merge 'xylar/update_SOwISC_to_60_levels' into ocean/develop
mark-petersen Apr 30, 2020
bce0e0f
Update to v0.1.5 of the compass env.
xylar May 1, 2020
b8ab2f7
Revert "Detect MPI from a conda environment setup_testcase.py"
xylar May 1, 2020
800b82b
Revert "Add mpi_conda to planar_hex calls"
xylar May 1, 2020
a12bdee
Fix and update in ISOMIP+ Ocean0 tutorial
xylar May 1, 2020
07f879c
Add missing errno import
xylar May 3, 2020
0527b40
Add bgc test to COMPASS
mark-petersen May 4, 2020
15144d6
Merge PR #543 'vanroekel/ocean/fixRediForBGC' into ocean/develop
mark-petersen May 4, 2020
27a0dd6
Update to latest compass
xylar May 5, 2020
cf17b05
Fix land-ice fluxes regression suite
xylar May 14, 2020
5b7a24e
Fix the name of the LIGHT regression suite
xylar May 14, 2020
6ce3700
Merge PR #546 'xylar/fix_isomip_plus_ocean0_tutorial' into ocean/develop
mark-petersen May 19, 2020
9d15e4b
Merge PR #561 'xylar/fix_land_ice_fluxes_regression' into ocean/develop
mark-petersen May 19, 2020
084bc14
Merge PR #545 'xylar/ocean/compass_revert_conda_mpi' into ocean/develop
mark-petersen May 19, 2020
bdc4bb1
COMPASS: remove block test from nightly regression
mark-petersen May 21, 2020
83f839b
Merge PR #496 'philipwjones/ocean/gpumesh' into ocean/develop
mark-petersen May 21, 2020
c5b7dd4
COMPASS: change test cases to CVMix
mark-petersen May 22, 2020
6e79a26
Update compass env to v0.1.6
xylar May 27, 2020
a315912
Add AM to nightly regression suite. Standardize Sfc name
mark-petersen Mar 11, 2020
fd1eb06
Merge PR #574 'xylar/ocean/update_compass_env_0.1.6' into ocean/develop
mark-petersen Jun 1, 2020
9dc2151
Merge PR #569 'ocean/remove_unused_modules' into ocean/develop
mark-petersen Jun 1, 2020
33f84b8
Add WC14 case to compass
mark-petersen Jun 1, 2020
13f55ea
Update mesh info in ini file
mark-petersen Jun 2, 2020
3869537
Fix periodicity of Bering Sea region
xylar Jun 2, 2020
3f00ac4
Fixes to AM updates.
mark-petersen Jun 3, 2020
78fcd01
Add ML budget to COMPASS analysis test
mark-petersen Jun 3, 2020
839e874
COMPASS corrections
mark-petersen Jun 4, 2020
6f439a7
Fix periodicity of Bering Sea region
xylar Jun 2, 2020
d472801
Move high-res region south around Norway
xylar Jun 4, 2020
08b88d8
Extend Gulf Stream region further northeast
xylar Jun 4, 2020
8b5cd63
Update mesh metadata
xylar Jun 4, 2020
b6ec9c3
Shift Kamchatka region by 360 degrees
xylar Jun 4, 2020
1103e29
Name Bering sea halves
xylar Jun 4, 2020
e7e8f10
Turn off land making at Kamchatka
xylar Jun 4, 2020
2ace7f1
Update metadata
xylar Jun 4, 2020
a05848d
Change resolution around Kamchatka Peninsula
xylar Jun 4, 2020
1589086
Make the resolution plot 300 dpi for easier zooming
xylar Jun 4, 2020
38f959d
Removes timeMonthlyOutput from spinup of WC14
vanroekel Jun 5, 2020
37665d6
Merge branch 'ocean/WC14to60kmL60E3SMv2r02' into ocean/develop
vanroekel Jun 5, 2020
463e44e
Add config_hmix_use_ref_cell_width to COMPASS
mark-petersen Jun 7, 2020
ba74b39
Response to review comments
mark-petersen Jun 11, 2020
c6db17e
Merge PR #568 'luke/ocean/mixedLayerHeatBudget' into ocean/develop
mark-petersen Jun 11, 2020
1af0272
Merge PR #599 'mark-petersen/ocean/hmix_ref_cell_width' into ocean/de…
mark-petersen Jun 11, 2020
e401ec4
Change names kappaRedCell etc. for clarity
mark-petersen Jul 7, 2020
0d8bb70
a little clean-up
mark-petersen Apr 30, 2020
13e7772
Merge branch 'develop' into ocean/develop
mark-petersen Jul 27, 2020
0a4db7c
Bump compass env to 0.1.8
xylar Jul 10, 2020
ed3a77e
Bump WC14 revision to 03
xylar Jul 10, 2020
f063b79
Add PR number to metadata
xylar Jul 10, 2020
4d7de19
Switch 60 layers to be the default vertical res
xylar Jul 10, 2020
d0a7259
Update test_final_settings to run correctly
xylar Jul 13, 2020
b477b72
Add rk4 thread test
mark-petersen May 29, 2020
789651e
Remove README in ISOMIP+ COMPASS directory
xylar Aug 12, 2020
91b7dd1
Move load_compass_env.sh to the ocean dir
xylar Jul 1, 2020
3c4a890
Update depreciated python plot label command.
mark-petersen Aug 17, 2020
e6ac912
Merge PR #653 'xylar/compass_docs_isomip_plus' into ocean/develop
mark-petersen Aug 17, 2020
e9079a2
Merge PR #628 'xylar/ocean/compass_wc14r03' into ocean/develop
mark-petersen Aug 17, 2020
4115538
Add help to cull_mesh arg parsing
xylar Jun 2, 2020
b513a83
Add support for custom critical passages...
xylar Jun 2, 2020
4ac6cbf
fix type, autopep8
mark-petersen Jun 5, 2020
19e0d57
Fix warnings in open_mfdataset calls
xylar Aug 7, 2020
f5412d4
Merge PR #642 'xylar/update_grizzly_example' into ocean/develop
mark-petersen Aug 18, 2020
716c32d
Minor alterations
mark-petersen May 11, 2020
ef3da05
Extend Gult Stream and Arctic around Norway
xylar Jun 4, 2020
1981294
Rename CUSP12 to WC12
xylar Jun 4, 2020
5c7d84f
Update metadata
xylar Jun 4, 2020
5f52985
Removes timeMonthly from final spinup for WC12
vanroekel Jul 7, 2020
a031849
Update depreciated python plot label command.
mark-petersen Aug 18, 2020
ddcbd87
Merge PR #555 'mark-petersen/ocean/cusp_coastal_US_plus_mesh' into oc…
mark-petersen Aug 18, 2020
c9fac96
Merge PR #513 'mattdturner/ocean/local_openmp_threading' into ocean/d…
mark-petersen Aug 18, 2020
4ea470b
Merge PR #513 'mturner/ocean/local_openmp_threading' into ocean/develop
mattdturner Aug 18, 2020
ed12801
SedimentCalculation_PhaseI
caozd999 Feb 28, 2019
d389ec5
SedimentCalculation_PhaseI_cont.
caozd999 Mar 14, 2019
2cd1359
compass file cleanup
mark-petersen Dec 3, 2019
31d09ec
West coast mesh from SF to LA
pwolfram Jan 15, 2020
bed330e
Adds HI refined case
pwolfram Jan 16, 2020
3186bf3
Fixes analysis script based on new xarray api
pwolfram Jan 24, 2020
7f6533b
Remove link to missing jigsaw Matlab script
xylar Jan 26, 2020
02d1b95
Adds spatially variable drag coefficient
pwolfram Sep 4, 2019
bf0fbad
Adds drying slope wetting and drying above land
pwolfram Feb 26, 2020
4229e8d
Fix bug in pointwiseStats locations for Sandy cases
Mar 23, 2020
381b6ba
Make 'ssh_gradient' the default pressure gradient type
Apr 1, 2020
1649643
Add synthetic wind and tidal spin-up capabilities
Mar 3, 2020
aa9a468
Add to hurricane_wind_pressure README
Apr 1, 2020
ef86516
Adds depth-variable drag to hurricane cases
pwolfram Apr 1, 2020
342e7ac
Disables variable bottom drag (forward hurricane)
pwolfram Apr 1, 2020
89827d5
Adds clear parameters to default template
pwolfram Apr 2, 2020
c60be1e
Remove the requirements.txt file
Apr 2, 2020
93a4e05
Add headers to python scripts in hurricane directory
Apr 2, 2020
e587659
Update README in hurricane_wind_pressure
Apr 2, 2020
f41383b
Swap basemap for cartopy in plot_winds_on_mpaso_mesh.py
Apr 2, 2020
bb4fc0b
Moves hurricane station data to single location
pwolfram Apr 3, 2020
5ecfbf1
Adds 4km hurricane case with Sandy forcing
pwolfram Apr 3, 2020
7a66380
Moves synthetic hurricane data to its own folder
pwolfram Apr 3, 2020
4f2b1f9
Moves python hurricane scripts
pwolfram Apr 3, 2020
dd47ef1
Fixes tab to whitespace issue
pwolfram Apr 3, 2020
b935cb5
Adds flooding 4km Hurricane Sandy case
pwolfram Apr 14, 2020
58427a1
Adds flooding 2km Hurricane Sandy case
pwolfram Apr 16, 2020
446907f
Adds flooding 1km Hurricane Sandy case
pwolfram Apr 16, 2020
8cc6a65
Ensures windSpeed(U,V) fields are defined
pwolfram Jul 3, 2020
cca7e95
Add a python script and a config file to generate the vegetation file…
caozd999 Jul 17, 2020
26b1887
Add links to common hurricane COMPASS config files
Jul 28, 2020
10f22a8
Fix link to define_base_mesh.py in COMPASS hurricane cases
Jul 28, 2020
f8f4b6e
Fix drying slope analysis links
Aug 3, 2020
41fd096
Add analysis member for tidal harmonic analysis
Jun 25, 2020
8deb162
Add vegetation drag to hurricane cases
Jul 22, 2020
1046520
Add marsh_flooding test case
caozd999 Jul 24, 2020
8114ae0
Add three test cases to show the tidal propagation differences along a
caozd999 Aug 10, 2020
29885bd
Update depreciated python plot label command.
mark-petersen Aug 17, 2020
e85b356
Adds synthetic hurricane to 4km Delaware
pwolfram Jul 3, 2020
b92338f
Adjusts time for synthetic hurricane definition
pwolfram Jul 4, 2020
07cdcdd
Adds 500m Delaware hurricane case
pwolfram May 26, 2020
380d1e3
Adds 250m Delaware hurricane case
pwolfram May 27, 2020
4aacf4c
Adds 100m Delaware hurricane case
pwolfram Jun 4, 2020
0fa4b8d
Updates interpolation file to avoid memory errors
pwolfram Jun 4, 2020
1842767
Modify marsh_flooding test case files for merge
caozd999 Aug 17, 2020
3d23c65
Merge branch 'ocean/coastal' into ocean/develop
mark-petersen Aug 20, 2020
ae9a47f
Fix validation for QU240 test step
xylar Aug 22, 2020
fc8ab1f
Remove e3sm_coupling step from coastal/Maine
xylar Aug 23, 2020
e89317b
Fix link to cull_mesh.py in 2 USDEQU120cr10rr2 tests
xylar Aug 23, 2020
756ad0d
Copy define_base_mesh.py rather than linking to its dir
xylar Aug 24, 2020
adffc9f
Fix path to cull_cells.py
xylar Aug 24, 2020
69a3461
Remove jigsaw_to_MPAS module
xylar May 17, 2020
5b0652b
Remove links to jigsaw_to_MPAS
xylar May 17, 2020
7bbe926
Switch to build_mesh entry point
xylar May 17, 2020
e5a27bc
Switch to inject_bathymetry entry point
xylar May 17, 2020
ac9d7c3
Switch jigsaw_to_MPAS module to mpas_tools.mesh.creation
xylar May 17, 2020
2d970fa
mpas_tools.conversion --> mpas_tools.mesh.conversion
xylar May 17, 2020
f2c5ce2
Update compass env. version
xylar Jul 6, 2020
18273a4
Fix register_sci_viz_colormaps calls
xylar Aug 23, 2020
d9a86e1
Improve time and memory of plot_initial_state
xylar Aug 25, 2020
51c6177
Merge PR #662 'xylar/ocean/fix_broken_compass_tests' into ocean/develop
mark-petersen Aug 26, 2020
b6f2fc4
Merge PR #563 'xylar/ocean/remove_jigsaw_to_mpas' into ocean/develop
mark-petersen Aug 26, 2020
2e74ae1
Update shared global_ocean configs and templates
xylar May 28, 2020
25b476c
Update shared hurricane configs
xylar Aug 25, 2020
ecd5bd5
Update QU240
xylar May 28, 2020
39dce9a
Update QU240wISC
xylar May 28, 2020
879c346
Update ARM60to10
xylar May 29, 2020
6b1aa4f
Update WC12
xylar May 29, 2020
f35025d
Update EC60to30
xylar May 29, 2020
26edbf4
Update EC60to30wISC
xylar May 29, 2020
7f44380
Update SO60to10wISC
xylar May 29, 2020
0813a04
Update coastal/Maine
xylar May 29, 2020
2c130b8
Update coastal/USDEQU120cr10rr2
xylar May 29, 2020
6959fde
Update Gaussian_hump/USDEQU120cr10rr2
xylar May 29, 2020
3472848
Update WC14
xylar Aug 25, 2020
8646e67
Update CA120to3
xylar Aug 25, 2020
9202b4d
Update HI120to12
xylar Aug 25, 2020
238f8b5
Update hurricane/USDEQU60at15cr5rr1
xylar May 29, 2020
be9813a
Update hurricane/USDEQU120at30cr10rr2
xylar May 29, 2020
0c8e4ac
Update USDEQU60at15cr5rr1WD and _veg
xylar Aug 25, 2020
e7ce069
Update USDEQU120at30cr10rr2WD and _veg
xylar Aug 25, 2020
f1069ad
Update USDEQU240at60cr20rr4, WD and WD_veg
xylar Aug 25, 2020
f0a5ad0
Update USDEQU60at15cr5rr*WD
xylar Aug 25, 2020
1cbdc35
Update tides/USDEQU120at30cr10
xylar Aug 25, 2020
be3c6c5
Switch to old Earth radius for signed distance
xylar Aug 31, 2020
0984c12
Update Earth radius to the CIME value
xylar Sep 1, 2020
dcd9bfd
EC6030r2 and changes to 60 layers as default
vanroekel Aug 26, 2020
e71ce84
Makes config_initial_state copies instead of symlinks
vanroekel Aug 27, 2020
b46b2d1
Add pull request to mesh description
xylar Sep 4, 2020
8bf1b6c
Updates EC6030 mesh to use GEBCO bathymetry
vanroekel Aug 27, 2020
9ca5c76
Fixes symlink to gebco data
vanroekel Aug 26, 2020
8b4dbdd
Fixes GEBCO related namelist options
vanroekel Aug 27, 2020
2a17a9b
Fixes formatting
vanroekel Aug 27, 2020
aaa6f56
Fix tabbing
vanroekel Aug 27, 2020
dbceb32
Fix bathymetry links
xylar Sep 4, 2020
68469eb
Merge PR #660 'xylar/ocean/fix_QU240_test' into ocean/develop
mark-petersen Sep 8, 2020
d5c06d5
Change block tests to partition tests
mark-petersen Sep 9, 2020
b07471e
Update to version 0.1.11 of the compass environment
xylar Sep 9, 2020
62eea73
Merge PR #688 'xylar/ocean/update_compass_env' into ocean/develop
mark-petersen Sep 9, 2020
8ce3ac1
Change flag names, as discussed with Luke
mark-petersen Oct 8, 2020
fb0ab84
Finishes removal of gm_stratification_ratio
vanroekel Oct 8, 2020
f6e7b65
Add a new version of the EC15to60 mesh
xylar Nov 3, 2020
7496357
Move high res 5 degrees further north
xylar Nov 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
50 changes: 50 additions & 0 deletions README_ocean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Setting up COMPASS for ocean test case

## COMPASS conda environment

To set up and run ocean test cases from COMPASS, you will need a conda
environment. First, install Miniconda3 (if miniconda is not already
installed), then create a new conda environment as follows:
``` bash
conda create -n compass_0.1.11 -c conda-forge -c e3sm python=3.7 compass=0.1.11
```
Each time you want to work with COMPASS, you will need to run:
```
conda activate compass_0.1.11
```

An appropriate conda environment is already available on Los Alamos National
Laboratory's Institutional Computing (LANL IC) machines as well as Anvil, Compy
and Cori. In each case, you will run:
```
source <base_path>/load_latest_compass.sh
```
Values of `<base_path>` are:
* grizzly and badger - `/usr/projects/climate/SHARED_CLIMATE/anaconda_envs`
* anvil (blues) - `/lcrc/soft/climate/e3sm-unified/`
* compy - `/share/apps/E3SM/conda_envs`
* cori - `/global/cfs/cdirs/acme/software/anaconda_envs`

## Setting config options

The file `general.config.ocean` is a template containing a set of config
options that the COMPASS user must set in order to set up ocean test cases.
Make a copy of this file (e.g. `config.ocean`) and set the options as follows.
In six places, replace `FULL_PATH_TO_MPAS_MODEL_REPO` with the path where you
have checked out (and built) the branch of MPAS-Model you are planning to use.
Five other paths are required, as explained below.

### mesh\_database, initial\_condition\_database and bathymetry\_database

These are directories for storing pre-generated mesh files, data sets for
creating initial conditions, and bathymetry data. These can be empty directories, in which case
meshes and other data sets will be downloaded as required during test-case
setup. (If a test case appears to hang during setup, it is most likely
downloading mesh, initial-condition or bathymetry data.)

On LANL IC, the shared data bases can be found at:
```
mesh_database = /usr/projects/regionalclimate/COMMON_MPAS/ocean/grids/mesh_database
initial_condition_database = /usr/projects/regionalclimate/COMMON_MPAS/ocean/grids/initial_condition_database
bathymetry_database = /usr/projects/regionalclimate/COMMON_MPAS/ocean/grids/bathymetry_database
```
30 changes: 15 additions & 15 deletions general.config.ocean
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,23 @@
# init namelists in the default_inputs directory after a successful build of
# the ocean model.
[namelists]
forward = FULL_PATH_TO_FORWARD_TEMPLATE_NAMELIST
init = FULL_PATH_TO_INIT_TEMPLATE_NAMELIST

forward = FULL_PATH_TO_MPAS_MODEL_REPO/namelist.ocean
init = FULL_PATH_TO_MPAS_MODEL_REPO/namelist.ocean

# The streams section defines paths to template streams files that will be used
# to generate specific streams files. Typically these will point to the forward and
# init streams files in the default_inputs directory after a successful build of
# the ocean model.
[streams]
forward = FULL_PATH_TO_FORWARD_TEMPLATE_STREAMS
init = FULL_PATH_TO_INIT_TEMPLATE_STREAMS

forward = FULL_PATH_TO_MPAS_MODEL_REPO/streams.ocean.forward
init = FULL_PATH_TO_MPAS_MODEL_REPO/streams.ocean.init

# The executables section defines paths to required executables. These
# executables are provided for use by specific test cases.
# Full paths should be provided in order to access the executables from
# anywhere on the machine.
[executables]
model = FULL_PATH_TO_MODEL
mesh_converter = FULL_PATH_TO_MESH_CONVERTER
cell_culler = FULL_PATH_TO_CELL_CULLER
mask_creator = FULL_PATH_TO_MASK_CREATOR
metis = FULL_PATH_TO_METIS
mesh_generator = FULL_PATH_TO_EXECUTABLE_MESH_GENERATION_SCRIPT

model = FULL_PATH_TO_MPAS_MODEL_REPO/ocean_model

# The paths section describes paths that are used within the ocean core test
# cases.
Expand All @@ -44,7 +36,15 @@ mesh_generator = FULL_PATH_TO_EXECUTABLE_MESH_GENERATION_SCRIPT
# the same directory, or different directory. Additionally, if they are empty
# some test cases might download data into them, which will then be reused if
# the test case is run again later.
mpas_model = FULL_PATH_TO_MPAS_MODEL_REPO
mesh_database = FULL_PATH_TO_LOCAL_MESH_DATABASE
initial_condition_database = FULL_PATH_TO_LOCAL_INITIAL_CONDITION_DATABASE
geometric_features = FULL_PATH_TO_LOCAL_CHECKOUT_OF_GEOMETRIC_FEATURES_DATABASE
mesh_scripts = FULL_PATH_TO_LOCAL_CHECKOUT_OF_MESH_GENERATION_SCRIPTS
bathymetry_database = FULL_PATH_TO_BATHYMETRY_DATABASE

# The options in this section relate to configuring and running with a compass
# conda environment
[conda]

# Whether a link to load_compass_env.sh should be included with each test case
# (can also be specified with the --link_load_compass flag)
link_load_compass = False
81 changes: 81 additions & 0 deletions ocean/Gaussian_hump/USDEQU120cr10rr2/build_mesh/build_base_mesh.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#!/usr/bin/env python
import mpas_tools.ocean.coastal_tools as ct
from mpas_tools.ocean import build_spherical_mesh


def cellWidthVsLatLon():
"""
This function specifies the resolution for a coastal refined mesh for
Delaware Bay. It creates cell width array for this mesh on a regular
latitude-longitude grid.

It contains the following resolution regions:
1) a QU 120km global background resolution
2) 10km refinement region from the coast to past the shelf-break from
North Carolina to New Hampshire
3) 5km refinement region from the coast up to the shelf-break from
Virginia to past Long Island, New York
4) 2km refinement region inside Delaware Bay

Returns
-------
cellWidth : ndarray
m x n array, entries are desired cell width in km

lat : ndarray
latitude, vector of length m, with entries between -90 and 90,
degrees

lon : ndarray
longitude, vector of length n, with entries between -180 and 180,
degrees
"""
# authors: Steven Brus, Phillip J. Wolfram
km = 1000.0

params = ct.default_params

print("****QU120 background mesh and 10km refinement from NC to NH****")
params["mesh_type"] = "QU"
params["dx_max_global"] = 120.0 * km
params["region_box"] = ct.Delaware_Bay
params["plot_box"] = ct.Western_Atlantic
params["dx_min_coastal"] = 10.0 * km
params["trans_width"] = 600.0 * km
params["trans_start"] = 400.0 * km

cell_width, lon, lat = ct.coastal_refined_mesh(params)

print("****5km refinement along coast from VA to NY****")
params["region_box"] = ct.Delaware_Region
params["plot_box"] = ct.Delaware
params["dx_min_coastal"] = 5.0 * km
params["trans_width"] = 175.0 * km
params["trans_start"] = 75.0 * km

cell_width, lon, lat = ct.coastal_refined_mesh(
params, cell_width, lon, lat)

print("****2km refinement inside Delaware Bay****")
params["region_box"] = ct.Delaware_Bay
params["plot_box"] = ct.Delaware
params["restrict_box"] = ct.Delaware_restrict
params["dx_min_coastal"] = 2.0 * km
params["trans_width"] = 100.0 * km
params["trans_start"] = 17.0 * km

cell_width, lon, lat = ct.coastal_refined_mesh(
params, cell_width, lon, lat)

return cell_width / 1000, lon, lat


def main():
cellWidth, lon, lat = cellWidthVsLatLon()
build_spherical_mesh(cellWidth, lon, lat, out_filename='base_mesh.nc',
do_inject_bathymetry=True, preserve_floodplain=True,
floodplain_elevation=20.0)


if __name__ == '__main__':
main()
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<config case="base_mesh">
<get_file dest_path="bathymetry_database" file_name="SRTM15_plus_earth_relief_15s.nc">
<mirror protocol="wget" url="https://web.lcrc.anl.gov/public/e3sm/mpas_standalonedata/mpas-ocean/bathymetry_database/"/>
</get_file>

<add_link source_path="script_test_dir" source="build_base_mesh.py" dest="build_base_mesh.py"/>
<add_link source_path="bathymetry_database" source="SRTM15_plus_earth_relief_15s.nc" dest="earth_relief_15s.nc"/>

<run_script name="run.py">
<step executable="./build_base_mesh.py">
</step>
</run_script>

</config>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<config case="culled_mesh">
<get_file dest_path="bathymetry_database" file_name="SRTM15_plus_earth_relief_15s.nc">
<mirror protocol="wget" url="https://web.lcrc.anl.gov/public/e3sm/mpas_standalonedata/mpas-ocean/bathymetry_database/"/>
</get_file>

<add_link source="../base_mesh/base_mesh.nc" dest="base_mesh.nc"/>
<add_link source_path="script_core_dir" source="global_ocean/scripts/cull_mesh.py" dest="cull_mesh.py"/>
<add_link source_path="bathymetry_database" source="SRTM15_plus_earth_relief_15s.nc" dest="earth_relief_15s.nc"/>

<run_script name="run.py">
<step executable="./cull_mesh.py">
<argument flag="--with_critical_passages"></argument>
<argument flag="--preserve_floodplain"></argument>
</step>
<step executable="inject_bathymetry">
<argument flag="">culled_mesh.nc</argument>
</step>
<step executable="paraview_vtk_field_extractor.py">
<argument flag="">--ignore_time</argument>
<argument flag="">-l</argument>
<argument flag="-d">maxEdges=0</argument>
<argument flag="-v">allOnCells</argument>
<argument flag="-f">culled_mesh.nc</argument>
<argument flag="-o">culled_mesh_vtk</argument>
</step>
</run_script>
</config>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<driver_script name="run.py">
<case name="base_mesh">
<step executable="./run.py" quiet="true" pre_message=" * Creating 2D global base mesh with jigsaw..." post_message=" complete! Created file: base_mesh/base_mesh.nc"/>
</case>
<case name="culled_mesh">
<step executable="./run.py" quiet="true" pre_message=" * Culling land cells from 2D global mesh..." post_message=" complete! Created file: culled_mesh/culled_mesh.nc"/>
</case>
</driver_script>
15 changes: 15 additions & 0 deletions ocean/Gaussian_hump/USDEQU120cr10rr2/delaware/config_analysis.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<config case="analysis">
<add_link source="../forward/output.nc" dest="output.nc"/>

<run_script name="run.py">
<step executable="paraview_vtk_field_extractor.py">
<argument flag="-f">output.nc</argument>
<argument flag="-o">vtk_output</argument>
<argument flag="-v">allOnCells</argument>
<argument flag="-d">maxEdges=0</argument>
<argument flag="">nVertLevels=0:10</argument>
<argument flag="--combine"></argument>
</step>
</run_script>
</config>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<driver_script name="run_test.py">
<case name="init">
<step executable="./run.py" quiet="true" pre_message=" * Running init" post_message=" Complete"/>
</case>
<case name="forward">
<step executable="./run.py" quiet="true" pre_message=" * Running forward" post_message=" Complete"/>
</case>
</driver_script>
60 changes: 60 additions & 0 deletions ocean/Gaussian_hump/USDEQU120cr10rr2/delaware/config_forward.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0"?>
<config case="forward">
<add_link source="../init/ocean.nc" dest="input.nc"/>
<add_link source="../init/graph.info" dest="graph.info"/>

<namelist name="namelist.ocean" mode="forward">
<option name="config_start_time">'0001-01-01_00:00:00'</option>
<option name="config_run_duration">'00_18:00:00'</option>

<!--
<option name="config_time_integrator">'split_explicit'</option>
<option name="config_dt">'00:00:30'</option>
<option name="config_btr_dt">'0000_00:00:03'</option>
-->
<option name="config_dt">'00:00:10'</option>
<option name="config_time_integrator">'RK4'</option>
<option name="config_hmix_scaleWithMesh">.true.</option>
<option name="config_mom_del4">4.0e8</option>
<option name="config_use_mom_del4">.true.</option>
<option name="config_vert_coord_movement">'uniform_stretching'</option>
<option name="config_ALE_thickness_proportionality">'weights_only'</option>
<option name="config_use_bulk_wind_stress">.true.</option>
<option name="config_use_time_varying_atmospheric_forcing">.false.</option>
<option name="config_check_ssh_consistency">.false.</option>
<option name="config_use_wetting_drying">.true.</option>
<option name="config_prevent_drying">.true.</option>
<option name="config_drying_min_cell_height">0.1</option>
<option name="config_verify_not_dry">.true.</option>
<option name="config_zero_drying_velocity">.true.</option>
<option name="config_thickness_flux_type">'upwind'</option>
</namelist>

<streams name="streams.ocean" keep="immutable" mode="forward">
<stream name="mesh">
<attribute name="filename_template">input.nc</attribute>
</stream>
<stream name="input">
<attribute name="filename_template">input.nc</attribute>
</stream>
<template file="minimal_output.xml" path_base="script_core_dir" path="templates/streams"/>
<stream name="output">
<attribute name="output_interval">01:00:00</attribute>
<add_contents>
<member name="ssh" type="var"/>
<member name="kineticEnergyCell" type="var"/>
</add_contents>
<remove_contents>
<member name="tracers"/>
<member name="normalVelocity"/>
</remove_contents>
</stream>
</streams>

<run_script name="run.py">
<step executable="gpmetis">
<argument flag="graph.info">360</argument>
</step>
<model_run procs="360" threads="1" namelist="namelist.ocean" streams="streams.ocean"/>
</run_script>
</config>
66 changes: 66 additions & 0 deletions ocean/Gaussian_hump/USDEQU120cr10rr2/delaware/config_init.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0"?>
<config case="init">
<add_link source="../../build_mesh/culled_mesh/culled_mesh.nc" dest="mesh.nc"/>
<add_link source="../../build_mesh/culled_mesh/culled_graph.info" dest="graph.info"/>

<namelist name="namelist.ocean" mode="init">
<option name="config_init_configuration">'hurricane'</option>
<option name="config_vert_levels">-1</option>
<option name="config_ocean_run_mode">'init'</option>
<option name="config_write_cull_cell_mask">.false.</option>
<option name="config_realistic_coriolis_parameter">.true.</option>
<option name="config_vertical_grid">'60layerPHC'</option>
<option name="config_hurricane_vert_levels">60</option>
<option name="config_hurricane_min_depth">-30.0</option>
<option name="config_hurricane_max_depth">2000.0</option>
<option name="config_hurricane_use_gaussian_hump">.true.</option>
<option name="config_hurricane_gaussian_hump_amplitude">4.0</option>
<option name="config_hurricane_gaussian_width">0.25</option>
<option name="config_use_wetting_drying">.true.</option>
<option name="config_drying_min_cell_height">0.10001</option>
</namelist>

<streams name="streams.ocean" keep="immutable" mode="init">
<stream name="input_init">
<attribute name="filename_template">mesh.nc</attribute>
</stream>
<stream name="bathymetry">
<attribute name="filename_template">mesh.nc</attribute>
<attribute name="type">input</attribute>
<attribute name="input_interval">initial_only</attribute>
<add_contents>
<member name="bottomDepthObserved" type="var"/>
</add_contents>
</stream>
<stream name="output_init">
<attribute name="type">output</attribute>
<attribute name="output_interval">0000_00:00:01</attribute>
<attribute name="clobber_mode">truncate</attribute>
<attribute name="filename_template">ocean.nc</attribute>
<add_contents>
<member name="input_init" type="stream"/>
<member name="tracers" type="var_struct"/>
<member name="refZMid" type="var"/>
<member name="normalVelocity" type="var"/>
<member name="layerThickness" type="var"/>
<member name="restingThickness" type="var"/>
<member name="refBottomDepth" type="var"/>
<member name="bottomDepth" type="var"/>
<member name="bottomDepthObserved" type="var"/>
<member name="maxLevelCell" type="var"/>
<member name="vertCoordMovementWeights" type="var"/>
<member name="ssh" type="var"/>
</add_contents>
</stream>
</streams>

<run_script name="run.py">
<!--
<step executable="gpmetis">
<argument flag="graph.info">6</argument>
</step>
-->
<model_run procs="1" threads="1" namelist="namelist.ocean" streams="streams.ocean"/>
</run_script>

</config>
1 change: 1 addition & 0 deletions ocean/README.md
Loading