├── compass ├── run │ └── __init__.py ├── landice │ ├── tests │ │ ├── __init__.py │ │ ├── enthalpy_benchmark │ │ │ ├── B │ │ │ │ ├── namelist.landice │ │ │ │ ├── streams.landice │ │ │ │ ├── enthB_analy_result.mat │ │ │ │ └── B.cfg │ │ │ ├── A │ │ │ │ ├── streams.landice1 │ │ │ │ ├── streams.landice2 │ │ │ │ ├── streams.landice3 │ │ │ │ ├── enthA_analy_result.mat │ │ │ │ ├── namelist.landice1 │ │ │ │ ├── namelist.landice3 │ │ │ │ ├── namelist.landice2 │ │ │ │ └── A.cfg │ │ │ ├── enthalpy_benchmark.cfg │ │ │ ├── namelist.landice │ │ │ └── __init__.py │ │ ├── hydro_radial │ │ │ ├── spinup_test │ │ │ │ ├── namelist.landice │ │ │ │ └── streams.landice │ │ │ ├── restart_test │ │ │ │ ├── streams.full │ │ │ │ ├── streams.restart │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── namelist.restart.rst │ │ │ │ └── streams.restart.rst │ │ │ ├── hydro_radial.cfg │ │ │ └── namelist.landice │ │ ├── eismint2 │ │ │ ├── decomposition_test │ │ │ │ └── streams.landice │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── namelist.restart.rst │ │ │ │ ├── streams.full │ │ │ │ ├── streams.restart │ │ │ │ └── streams.restart.rst │ │ │ └── eismint2.cfg │ │ ├── dome │ │ │ ├── namelist.landice │ │ │ └── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── namelist.restart.rst │ │ │ │ ├── streams.full │ │ │ │ ├── streams.restart │ │ │ │ └── streams.restart.rst │ │ ├── mismipplus │ │ │ ├── spin_up │ │ │ │ ├── namelist.spin_up │ │ │ │ └── streams.spin_up │ │ │ ├── mismipplus.cfg │ │ │ ├── __init__.py │ │ │ └── namelist.landice │ │ ├── humboldt │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.full.hydro │ │ │ │ ├── namelist.restart │ │ │ │ ├── namelist.restart.rst │ │ │ │ ├── namelist.restart.hydro │ │ │ │ ├── namelist.restart.rst.hydro │ │ │ │ ├── streams.full │ │ │ │ ├── streams.restart │ │ │ │ └── streams.restart.rst │ │ │ └── namelist.landice.hydro │ │ ├── greenland │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart.rst │ │ │ │ ├── namelist.restart │ │ │ │ ├── streams.full │ │ │ │ └── streams.restart │ │ │ └── namelist.landice │ │ ├── thwaites │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── namelist.restart.rst │ │ │ │ ├── streams.full │ │ │ │ └── streams.restart │ │ │ └── namelist.landice │ │ ├── circular_shelf │ │ │ ├── namelist.landice │ │ │ ├── __init__.py │ │ │ └── circular_shelf.cfg │ │ ├── ensemble_generator │ │ │ ├── branch_ensemble │ │ │ │ └── namelist.landice │ │ │ └── __init__.py │ │ ├── ismip6_run │ │ │ ├── ismip6_ais_proj2300 │ │ │ │ ├── streams.mask_calving │ │ │ │ └── streams.vM_params │ │ │ └── __init__.py │ │ ├── crane │ │ │ └── __init__.py │ │ ├── antarctica │ │ │ └── __init__.py │ │ ├── koge_bugt_s │ │ │ └── __init__.py │ │ ├── kangerlussuaq │ │ │ └── __init__.py │ │ ├── isunnguata_sermia │ │ │ ├── __init__.py │ │ │ └── mesh_gen │ │ │ │ └── __init__.py │ │ └── mesh_modifications │ │ │ └── __init__.py │ ├── namelists │ │ └── __init__.py │ ├── streams │ │ └── __init__.py │ └── suites │ │ ├── __init__.py │ │ └── calving_dt_convergence.txt ├── ocean │ ├── mesh │ │ ├── __init__.py │ │ ├── low_res_topography.cfg │ │ └── south_pole.geojson │ ├── streams │ │ ├── __init__.py │ │ ├── streams.output │ │ ├── streams.frazil │ │ └── streams.ssh_adjust │ ├── suites │ │ ├── __init__.py │ │ ├── nonhydro.txt │ │ ├── qu240_for_e3sm.txt │ │ ├── wc14.txt │ │ ├── rrs6to18.txt │ │ ├── ec30to60.txt │ │ ├── so12to30.txt │ │ ├── wcwisc14.txt │ │ ├── cosine_bell_cached_init.txt │ │ ├── quwisc240_for_e3sm.txt │ │ ├── rrswisc6to18.txt │ │ ├── ecwisc30to60.txt │ │ ├── sowisc12to30.txt │ │ ├── kuroshio8to60.txt │ │ ├── kuroshio12to60.txt │ │ ├── lts.txt │ │ ├── pr_to_cache.txt │ │ └── quwisc240.txt │ ├── tests │ │ ├── __init__.py │ │ ├── dam_break │ │ │ ├── dam_break.cfg │ │ │ ├── lts │ │ │ │ ├── __init__.py │ │ │ │ └── namelist.init │ │ │ ├── namelist.init │ │ │ ├── namelist.forward │ │ │ ├── streams.forward │ │ │ └── streams.init │ │ ├── hurricane │ │ │ ├── fblts │ │ │ │ ├── __init_.py │ │ │ │ └── forward │ │ │ │ │ └── __init__.py │ │ │ ├── lts │ │ │ │ ├── __init_.py │ │ │ │ ├── forward │ │ │ │ │ └── __init__.py │ │ │ │ ├── init │ │ │ │ │ └── __init__.py │ │ │ │ └── mesh │ │ │ │ │ └── __init_.py │ │ │ ├── mesh │ │ │ │ └── dequ120at30cr10rr2 │ │ │ │ │ └── namelist.ocean │ │ │ ├── hurricane.cfg │ │ │ ├── init │ │ │ │ └── namelist.init │ │ │ └── configure.py │ │ ├── tides │ │ │ ├── mesh │ │ │ │ └── icos7 │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── namelist.ocean │ │ │ └── configure.py │ │ ├── parabolic_bowl │ │ │ ├── lts │ │ │ │ └── __init__.py │ │ │ ├── namelist.10km.forward │ │ │ ├── namelist.20km.forward │ │ │ ├── namelist.5km.forward │ │ │ ├── namelist.subgrid.forward │ │ │ ├── namelist.ramp.forward │ │ │ ├── namelist.init │ │ │ ├── namelist.single_layer.forward │ │ │ ├── namelist.subgrid.init │ │ │ └── namelist.forward │ │ ├── global_ocean │ │ │ ├── mesh │ │ │ │ ├── qu240 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── namelist.rk4 │ │ │ │ │ ├── namelist.split_explicit_ab2 │ │ │ │ │ └── dynamic_adjustment.yaml │ │ │ │ ├── kuroshio8to60 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── kuroshio8to60.cfg │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── kuroshio12to60 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── kuroshio12to60.cfg │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── rrs6to18 │ │ │ │ │ ├── streams.ssh_adjust │ │ │ │ │ ├── streams.forward │ │ │ │ │ ├── streams.init │ │ │ │ │ ├── namelist.split_explicit_ab2 │ │ │ │ │ └── namelist.init │ │ │ │ ├── qu │ │ │ │ │ ├── namelist.split_explicit_ab2 │ │ │ │ │ ├── icos.cfg │ │ │ │ │ └── dynamic_adjustment.yaml │ │ │ │ ├── ec30to60 │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── fris01to60 │ │ │ │ │ ├── streams.forward │ │ │ │ │ ├── namelist.init │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── fris02to60 │ │ │ │ │ ├── streams.forward │ │ │ │ │ ├── namelist.init │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── fris04to60 │ │ │ │ │ ├── streams.forward │ │ │ │ │ ├── namelist.init │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── fris08to60 │ │ │ │ │ ├── streams.forward │ │ │ │ │ ├── namelist.init │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── so12to30 │ │ │ │ │ ├── namelist.init │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── wc14 │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── arrm10to60 │ │ │ │ │ └── namelist.split_explicit_ab2 │ │ │ │ ├── kuroshio │ │ │ │ │ ├── wbc_rectangle3-1.geojson │ │ │ │ │ ├── wbc_rectangle3-2.geojson │ │ │ │ │ └── wbc_rectangle3-3.geojson │ │ │ │ └── remap_mali_topography │ │ │ │ │ ├── ais_4to20km.cfg │ │ │ │ │ └── ais_2to10km.cfg │ │ │ ├── files_for_e3sm │ │ │ │ ├── write_coeffs_reconstruct │ │ │ │ │ ├── namelist.reconstruct │ │ │ │ │ └── streams.reconstruct │ │ │ │ └── README │ │ │ ├── restart_test │ │ │ │ ├── namelist.rk4.full │ │ │ │ ├── namelist.split_explicit_ab2.full │ │ │ │ ├── namelist.rk4.restart │ │ │ │ ├── namelist.split_explicit_ab2.restart │ │ │ │ ├── streams.rk4.full │ │ │ │ ├── streams.rk4.restart │ │ │ │ ├── streams.split_explicit_ab2.full │ │ │ │ └── streams.split_explicit_ab2.restart │ │ │ ├── daily_output_test │ │ │ │ └── namelist.forward │ │ │ ├── monthly_output_test │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── init │ │ │ │ ├── namelist.wisc │ │ │ │ ├── streams.wisc │ │ │ │ ├── smooth_topo.template │ │ │ │ ├── streams.topo │ │ │ │ ├── namelist.woa23 │ │ │ │ ├── namelist.phc │ │ │ │ ├── namelist.en4_1900 │ │ │ │ └── streams.ssh_adjust │ │ │ ├── streams.dismf │ │ │ ├── dynamic_adjustment │ │ │ │ └── streams.template │ │ │ ├── namelist.forward │ │ │ └── streams.forward │ │ ├── sphere_transport │ │ │ ├── resources │ │ │ │ └── __init__.py │ │ │ ├── divergent_2d │ │ │ │ ├── namelist.init │ │ │ │ ├── divergent_2d.cfg │ │ │ │ └── streams.forward │ │ │ ├── rotation_2d │ │ │ │ ├── namelist.init │ │ │ │ ├── rotation_2d.cfg │ │ │ │ └── streams.forward │ │ │ ├── nondivergent_2d │ │ │ │ ├── namelist.init │ │ │ │ ├── nondivergent_2d.cfg │ │ │ │ └── streams.forward │ │ │ └── correlated_tracers_2d │ │ │ │ ├── namelist.init │ │ │ │ ├── correlated_tracers_2d.cfg │ │ │ │ └── streams.forward │ │ ├── internal_wave │ │ │ ├── rpe_test │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── namelist.init │ │ │ ├── namelist.forward │ │ │ ├── ten_day_test │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── streams.forward │ │ │ └── streams.init │ │ ├── baroclinic_channel │ │ │ ├── rpe_test │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── namelist.10km.forward │ │ │ ├── namelist.1km.forward │ │ │ ├── namelist.4km.forward │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── streams.full │ │ │ │ └── streams.restart │ │ │ ├── namelist.forward │ │ │ └── streams.forward │ │ ├── buttermilk_bay │ │ │ ├── namelist.subgrid.forward │ │ │ ├── namelist.ramp.forward │ │ │ ├── namelist.single_layer.forward │ │ │ ├── namelist.subgrid.init │ │ │ ├── namelist.init │ │ │ └── __init__.py │ │ ├── overflow │ │ │ ├── rpe_test │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── namelist.init │ │ │ ├── hydro_vs_nonhydro │ │ │ │ ├── namelist.hydro │ │ │ │ ├── namelist.nonhydro │ │ │ │ ├── namelist.forward │ │ │ │ └── hydro_vs_nonhydro.cfg │ │ │ ├── namelist.forward │ │ │ ├── streams.forward │ │ │ └── nonhydro │ │ │ │ ├── nonhydro.cfg │ │ │ │ └── streams.forward │ │ ├── nonhydro │ │ │ ├── stratified_seiche │ │ │ │ ├── namelist.hydro │ │ │ │ ├── namelist.nonhydro │ │ │ │ └── streams.forward │ │ │ ├── solitary_wave │ │ │ │ ├── namelist.hydro │ │ │ │ ├── namelist.nonhydro │ │ │ │ └── streams.forward │ │ │ └── __init__.py │ │ ├── planar_convergence │ │ │ ├── streams.template │ │ │ ├── __init__.py │ │ │ ├── horizontal_advection │ │ │ │ └── horizontal_advection.cfg │ │ │ └── streams.forward │ │ ├── ice_shelf_2d │ │ │ ├── restart_test │ │ │ │ ├── namelist.full │ │ │ │ ├── namelist.restart │ │ │ │ ├── restart_test.cfg │ │ │ │ ├── streams.full │ │ │ │ └── streams.restart │ │ │ ├── default │ │ │ │ └── default.cfg │ │ │ ├── namelist.tidal_forcing.forward │ │ │ ├── namelist.forward │ │ │ └── namelist.single_layer.forward_and_ssh_adjust │ │ ├── soma │ │ │ ├── namelist.init │ │ │ ├── namelist.forward │ │ │ └── namelist.analysis │ │ ├── isomip_plus │ │ │ ├── streams.time_varying_forcing │ │ │ ├── namelist.tidal_forcing.forward │ │ │ ├── namelist.forward │ │ │ ├── namelist.time_varying_forcing │ │ │ └── namelist.thin_film.forward_and_ssh_adjust │ │ ├── drying_slope │ │ │ ├── namelist.sigma.forward │ │ │ └── namelist.single_layer.forward │ │ ├── gotm │ │ │ ├── default │ │ │ │ ├── namelist.init │ │ │ │ ├── default.cfg │ │ │ │ ├── namelist.forward │ │ │ │ ├── streams.init │ │ │ │ └── streams.forward │ │ │ └── __init__.py │ │ ├── ziso │ │ │ ├── streams.particles │ │ │ ├── namelist.particles │ │ │ ├── with_frazil │ │ │ │ └── with_frazil.cfg │ │ │ ├── namelist.forward │ │ │ └── namelist.analysis │ │ ├── spherical_harmonic_transform │ │ │ ├── qu_convergence │ │ │ │ ├── namelist.init │ │ │ │ ├── qu_convergence.cfg │ │ │ │ └── streams.init │ │ │ └── __init__.py │ │ ├── utility │ │ │ ├── cull_restarts │ │ │ │ ├── cull_restarts.cfg │ │ │ │ └── __init__.py │ │ │ ├── create_salin_restoring │ │ │ │ └── create_salin_restoring.cfg │ │ │ ├── extrap_woa │ │ │ │ └── extrap_woa.cfg │ │ │ └── combine_topo │ │ │ │ └── combine_topo.cfg │ │ ├── lock_exchange │ │ │ ├── nonhydro │ │ │ │ ├── namelist.forward │ │ │ │ └── streams.forward │ │ │ ├── __init__.py │ │ │ └── streams.forward │ │ ├── merry_go_round │ │ │ └── __init__.py │ │ ├── global_convergence │ │ │ ├── __init__.py │ │ │ └── cosine_bell │ │ │ │ └── streams.forward │ │ └── baroclinic_gyre │ │ │ └── __init__.py │ └── namelists │ │ ├── __init__.py │ │ └── namelist.ssh_adjust ├── version.py ├── database_subdirs.json ├── mesh │ └── __init__.py ├── __init__.py ├── machines │ ├── default.cfg │ ├── conda-linux.cfg │ ├── conda-osx.cfg │ └── job_script.slurm.template ├── load │ └── load_script.template ├── mpas_cores.py └── job │ └── job_script.template ├── conda ├── .gitignore ├── albany_supported.txt ├── otps │ ├── ci │ │ ├── osx.yaml │ │ └── linux.yaml │ └── recipe │ │ ├── build.sh │ │ └── meta.yaml ├── petsc_supported.txt ├── unsupported.txt └── spack │ ├── eligos_gnu_openmpi.yaml │ └── morpheus_gnu_openmpi.yaml ├── docs ├── .gitignore ├── tutorials │ └── images │ │ ├── qu60.png │ │ ├── atl20km.png │ │ ├── ec30to60.png │ │ ├── yam10to60.png │ │ ├── simulation_sst.png │ │ ├── qu60_base_paraview.png │ │ ├── geojson_io_south_atl.png │ │ ├── qu60_culled_paraview.png │ │ ├── atl20km_culled_paraview.png │ │ ├── ec30to60_culled_paraview.png │ │ ├── geojson_io_amazon_delta.png │ │ ├── simulation_norm_vel_mag.png │ │ └── yam10to60_culled_paraview.png ├── design_docs │ ├── images │ │ └── ocean.jpg │ └── index.rst ├── developers_guide │ ├── ocean │ │ ├── images │ │ │ └── haney.png │ │ └── test_groups │ │ │ ├── images │ │ │ └── soma_temp.png │ │ │ └── index.rst │ ├── images │ │ ├── org_in_package.png │ │ └── org_in_work_dir.png │ ├── docs_example.txt │ ├── landice │ │ └── test_groups │ │ │ └── index.rst │ └── machines │ │ ├── perlmutter.rst │ │ ├── compy.rst │ │ └── chrysalis.rst ├── users_guide │ ├── ocean │ │ ├── test_groups │ │ │ ├── images │ │ │ │ ├── soma.png │ │ │ │ ├── wc14.png │ │ │ │ ├── ziso.png │ │ │ │ ├── M2_plot.png │ │ │ │ ├── qu240.png │ │ │ │ ├── LE_hydro.png │ │ │ │ ├── ec30to60.png │ │ │ │ ├── gotm_eqns.png │ │ │ │ ├── gotm_vel.png │ │ │ │ ├── gotm_visc.png │ │ │ │ ├── overflow.png │ │ │ │ ├── LE_nonhydro.png │ │ │ │ ├── ecwisc30to60.png │ │ │ │ ├── ice_shelf_2d.png │ │ │ │ ├── isomip_plus.png │ │ │ │ ├── sowisc12to60.png │ │ │ │ ├── ziso_frazil.png │ │ │ │ ├── internal_wave.png │ │ │ │ ├── kuroshio8to60.png │ │ │ │ ├── rrs6to18_temp.png │ │ │ │ ├── overflow_nonhydro.png │ │ │ │ ├── sphere_transport.png │ │ │ │ ├── baroclinic_channel.png │ │ │ │ ├── baroclinic_gyre_config.png │ │ │ │ ├── dam_break_validation.png │ │ │ │ ├── drying_slope_forcing.png │ │ │ │ ├── merry-go-round_section.png │ │ │ │ ├── parabolic_bowl_error.png │ │ │ │ ├── parabolic_bowl_points.png │ │ │ │ ├── cosine_bell_convergence.png │ │ │ │ ├── drying_slope_validation.png │ │ │ │ ├── merry-go-round_convergence.png │ │ │ │ ├── parabolic_bowl_solution_000.png │ │ │ │ ├── parabolic_bowl_solution_360.png │ │ │ │ ├── buttermilk_bay_subgrid_points.png │ │ │ │ ├── parabolic_bowl_subgrid_error.png │ │ │ │ ├── parabolic_bowl_subgrid_points.png │ │ │ │ ├── buttermilk_bay_standard_points.png │ │ │ │ ├── horizontal_advection_convergence.png │ │ │ │ ├── buttermilk_bay_standard_solution_169.png │ │ │ │ ├── buttermilk_bay_subgrid_solution_169.png │ │ │ │ ├── parabolic_bowl_subgrid_solution_360.png │ │ │ │ ├── spherical_harmonic_transform_convergence.png │ │ │ │ └── spherical_harmonic_transform_qu_function.png │ │ │ └── index.rst │ │ └── framework │ │ │ └── index.rst │ └── landice │ │ └── test_groups │ │ ├── images │ │ ├── halfar.png │ │ ├── gis_speed.png │ │ ├── crane_500mto1km.png │ │ ├── thwaites_speed.png │ │ ├── circ_shelf_velos.png │ │ ├── circ_shelf_xsect.png │ │ ├── humboldt_1to10km.png │ │ ├── antarctica_8to80km.png │ │ ├── enthalpy_benchmark_A.png │ │ ├── calving_dt_comparison.png │ │ ├── hydro_radial_vs_exact.png │ │ ├── kangerlussuaq_1to10km.png │ │ ├── isunnguata_sermia_1to10km.png │ │ └── koge_bugt_s_500m_to_4km.png │ │ └── index.rst ├── Makefile └── versions.rst ├── utils └── matrix │ └── shared.py ├── .github └── dependabot.yml ├── .gitmodules ├── README.md ├── example_configs └── example.cfg └── setup.cfg /compass/run/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/landice/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/mesh/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/streams/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/suites/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conda/.gitignore: -------------------------------------------------------------------------------- 1 | /build_*/ 2 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | generated 2 | -------------------------------------------------------------------------------- /compass/landice/namelists/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/landice/streams/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/landice/suites/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/namelists/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/dam_break.cfg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /utils/matrix/shared.py: -------------------------------------------------------------------------------- 1 | ../../conda/shared.py -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/lts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/fblts/__init_.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/lts/__init_.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/tides/mesh/icos7/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/lts/forward/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/lts/init/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/lts/mesh/__init_.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/lts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/version.py: -------------------------------------------------------------------------------- 1 | __version__ = '1.9.0-alpha.2' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu240/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/fblts/forward/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio8to60/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio12to60/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.10km.forward: -------------------------------------------------------------------------------- 1 | config_dt='0000_00:00:05' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.20km.forward: -------------------------------------------------------------------------------- 1 | config_dt='0000_00:00:10' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.5km.forward: -------------------------------------------------------------------------------- 1 | config_dt='0000_00:00:02.5' 2 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/B/namelist.landice: -------------------------------------------------------------------------------- 1 | config_run_duration = 10000-00-00_00:00:00 -------------------------------------------------------------------------------- /compass/ocean/suites/nonhydro.txt: -------------------------------------------------------------------------------- 1 | ocean/nonhydro/solitary_wave 2 | ocean/nonhydro/stratified_seiche 3 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/rpe_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration = '20_00:00:00' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/rpe_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration = '20_00:00:00' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/namelist.subgrid.forward: -------------------------------------------------------------------------------- 1 | config_use_subgrid_wetting_drying = .true. 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.subgrid.forward: -------------------------------------------------------------------------------- 1 | config_use_subgrid_wetting_drying = .true. 2 | -------------------------------------------------------------------------------- /docs/tutorials/images/qu60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/qu60.png -------------------------------------------------------------------------------- /docs/design_docs/images/ocean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/design_docs/images/ocean.jpg -------------------------------------------------------------------------------- /docs/tutorials/images/atl20km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/atl20km.png -------------------------------------------------------------------------------- /docs/tutorials/images/ec30to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/ec30to60.png -------------------------------------------------------------------------------- /docs/tutorials/images/yam10to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/yam10to60.png -------------------------------------------------------------------------------- /compass/database_subdirs.json: -------------------------------------------------------------------------------- 1 | {"ocean": "mpas-ocean", 2 | "seaice": "mpas-seaice", 3 | "landice": "mpas-albany-landice"} 4 | -------------------------------------------------------------------------------- /compass/mesh/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.mesh.spherical import QuasiUniformSphericalMeshStep, \ 2 | IcosahedralMeshStep 3 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/mesh/dequ120at30cr10rr2/namelist.ocean: -------------------------------------------------------------------------------- 1 | config_dt = '00:00:25' 2 | config_mom_del4 = 4.0e8 3 | 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/rpe_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration='0000_40:00:00' 2 | config_dt = '0000_00:00:10' 3 | -------------------------------------------------------------------------------- /compass/ocean/tests/tides/mesh/icos7/namelist.ocean: -------------------------------------------------------------------------------- 1 | config_dt = '00:01:00' 2 | config_topographic_wave_drag_coeff = 5e-4 3 | -------------------------------------------------------------------------------- /docs/tutorials/images/simulation_sst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/simulation_sst.png -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/files_for_e3sm/write_coeffs_reconstruct/namelist.reconstruct: -------------------------------------------------------------------------------- 1 | config_run_duration = '0000_00:00:01' 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/stratified_seiche/namelist.hydro: -------------------------------------------------------------------------------- 1 | config_use_cvmix = .false. 2 | config_enable_nonhydrostatic_mode = .false. 3 | -------------------------------------------------------------------------------- /docs/developers_guide/ocean/images/haney.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/developers_guide/ocean/images/haney.png -------------------------------------------------------------------------------- /docs/tutorials/images/qu60_base_paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/qu60_base_paraview.png -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/namelist.10km.forward: -------------------------------------------------------------------------------- 1 | config_dt = '00:05:00' 2 | config_btr_dt = '00:00:15' 3 | config_mom_del2 = 10.0 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/namelist.1km.forward: -------------------------------------------------------------------------------- 1 | config_dt = '00:00:30' 2 | config_btr_dt = '00:00:02' 3 | config_mom_del2 = 10.0 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/namelist.4km.forward: -------------------------------------------------------------------------------- 1 | config_dt = '00:02:00' 2 | config_btr_dt = '00:00:06' 3 | config_mom_del2 = 10.0 4 | -------------------------------------------------------------------------------- /docs/developers_guide/images/org_in_package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/developers_guide/images/org_in_package.png -------------------------------------------------------------------------------- /docs/developers_guide/images/org_in_work_dir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/developers_guide/images/org_in_work_dir.png -------------------------------------------------------------------------------- /docs/tutorials/images/geojson_io_south_atl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/geojson_io_south_atl.png -------------------------------------------------------------------------------- /docs/tutorials/images/qu60_culled_paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/qu60_culled_paraview.png -------------------------------------------------------------------------------- /docs/tutorials/images/atl20km_culled_paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/atl20km_culled_paraview.png -------------------------------------------------------------------------------- /docs/tutorials/images/ec30to60_culled_paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/ec30to60_culled_paraview.png -------------------------------------------------------------------------------- /docs/tutorials/images/geojson_io_amazon_delta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/geojson_io_amazon_delta.png -------------------------------------------------------------------------------- /docs/tutorials/images/simulation_norm_vel_mag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/simulation_norm_vel_mag.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/soma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/soma.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/wc14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/wc14.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/ziso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/ziso.png -------------------------------------------------------------------------------- /docs/tutorials/images/yam10to60_culled_paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/tutorials/images/yam10to60_culled_paraview.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/M2_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/M2_plot.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/qu240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/qu240.png -------------------------------------------------------------------------------- /compass/ocean/streams/streams.output: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/halfar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/halfar.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/LE_hydro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/LE_hydro.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/ec30to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/ec30to60.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/gotm_eqns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/gotm_eqns.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/gotm_vel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/gotm_vel.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/gotm_visc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/gotm_visc.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/overflow.png -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'internal_waves' 2 | config_vert_levels = 1 3 | config_write_cull_cell_mask = .true. 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/planar_convergence/streams.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/gis_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/gis_speed.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/LE_nonhydro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/LE_nonhydro.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/ecwisc30to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/ecwisc30to60.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/ice_shelf_2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/ice_shelf_2d.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/isomip_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/isomip_plus.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/sowisc12to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/sowisc12to60.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/ziso_frazil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/ziso_frazil.png -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/rrs6to18/streams.ssh_adjust: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/developers_guide/ocean/test_groups/images/soma_temp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/developers_guide/ocean/test_groups/images/soma_temp.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/internal_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/internal_wave.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/kuroshio8to60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/kuroshio8to60.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/rrs6to18_temp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/rrs6to18_temp.png -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/streams.landice1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/streams.landice2: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/streams.landice3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/B/streams.landice: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/spinup_test/namelist.landice: -------------------------------------------------------------------------------- 1 | config_stop_time = '10001-01-01_00:00:00' 2 | config_year_digits = 6 3 | config_SGH_englacial_porosity = 0.1 4 | -------------------------------------------------------------------------------- /compass/ocean/namelists/namelist.ssh_adjust: -------------------------------------------------------------------------------- 1 | config_run_duration = '0000_01:00:00' 2 | config_check_ssh_consistency = .false. 3 | config_land_ice_flux_mode = 'pressure_only' 4 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/crane_500mto1km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/crane_500mto1km.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/thwaites_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/thwaites_speed.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/overflow_nonhydro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/overflow_nonhydro.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/sphere_transport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/sphere_transport.png -------------------------------------------------------------------------------- /compass/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.mpas_core import MpasCore 2 | from compass.testgroup import TestGroup 3 | from compass.testcase import TestCase 4 | from compass.step import Step 5 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/decomposition_test/streams.landice: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/enthA_analy_result.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/compass/landice/tests/enthalpy_benchmark/A/enthA_analy_result.mat -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/B/enthB_analy_result.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/compass/landice/tests/enthalpy_benchmark/B/enthB_analy_result.mat -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/spinup_test/streams.landice: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/circ_shelf_velos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/circ_shelf_velos.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/circ_shelf_xsect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/circ_shelf_xsect.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/humboldt_1to10km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/humboldt_1to10km.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/baroclinic_channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/baroclinic_channel.png -------------------------------------------------------------------------------- /compass/landice/tests/dome/namelist.landice: -------------------------------------------------------------------------------- 1 | config_dt = '0001-00-00_00:00:00' 2 | config_run_duration = '0002-00-00_00:00:00' 3 | config_block_decomp_file_prefix = 'graph.info.part.' 4 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/antarctica_8to80km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/antarctica_8to80km.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/enthalpy_benchmark_A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/enthalpy_benchmark_A.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/baroclinic_gyre_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/baroclinic_gyre_config.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/dam_break_validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/dam_break_validation.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/drying_slope_forcing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/drying_slope_forcing.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/merry-go-round_section.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/merry-go-round_section.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_error.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_points.png -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/namelist.landice1: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '100000-00-00_00:00:00' 3 | config_dt = '25-00-00_00:00:00' 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/namelist.rk4.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '00:20:00' 3 | config_write_output_on_startup = .false. 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000_00:10:00' 3 | config_write_output_on_startup = .false. 4 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/calving_dt_comparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/calving_dt_comparison.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/hydro_radial_vs_exact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/hydro_radial_vs_exact.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/kangerlussuaq_1to10km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/kangerlussuaq_1to10km.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/cosine_bell_convergence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/cosine_bell_convergence.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/drying_slope_validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/drying_slope_validation.png -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000_00:10:00' 3 | config_write_output_on_startup = .false. 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration='overflow' 2 | config_overflow_use_distances=.true. 3 | config_overflow_layer_type='sigma' 4 | config_overflow_vert_levels=50 5 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/isunnguata_sermia_1to10km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/isunnguata_sermia_1to10km.png -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/images/koge_bugt_s_500m_to_4km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/landice/test_groups/images/koge_bugt_s_500m_to_4km.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/merry-go-round_convergence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/merry-go-round_convergence.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_solution_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_solution_000.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_solution_360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_solution_360.png -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/namelist.ramp.forward: -------------------------------------------------------------------------------- 1 | config_zero_drying_velocity_ramp = .true. 2 | config_zero_drying_velocity_ramp_hmin = 2e-2 3 | config_zero_drying_velocity_ramp_hmax = 4e-2 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.ramp.forward: -------------------------------------------------------------------------------- 1 | config_zero_drying_velocity_ramp = .true. 2 | config_zero_drying_velocity_ramp_hmin = 2e-2 3 | config_zero_drying_velocity_ramp_hmax = 4e-2 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/soma/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'soma' 2 | config_ocean_run_mode = 'init' 3 | config_realistic_coriolis_parameter = .true. 4 | config_use_bulk_wind_stress = .true. 5 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/buttermilk_bay_subgrid_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/buttermilk_bay_subgrid_points.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_error.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_points.png -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/namelist.split_explicit_ab2.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '08:00:00' 3 | config_write_output_on_startup = .false. 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/hydro_vs_nonhydro/namelist.hydro: -------------------------------------------------------------------------------- 1 | config_use_mom_del2 = .true. 2 | config_mom_del2 = 1.0 3 | config_use_vertMom_del2 = .false. 4 | config_enable_nonhydrostatic_mode = .false. 5 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/buttermilk_bay_standard_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/buttermilk_bay_standard_points.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/horizontal_advection_convergence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/horizontal_advection_convergence.png -------------------------------------------------------------------------------- /compass/ocean/tests/isomip_plus/streams.time_varying_forcing: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/mismipplus/spin_up/namelist.spin_up: -------------------------------------------------------------------------------- 1 | config_stop_time = '20001-01-01_00:00:00' 2 | config_apply_calving_mask = .true. 3 | 4 | config_adaptive_timestep_force_interval = '0050-00-00_00:00:00' 5 | -------------------------------------------------------------------------------- /compass/ocean/suites/qu240_for_e3sm.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/QU240/mesh 2 | ocean/global_ocean/QU240/WOA23/init 3 | ocean/global_ocean/QU240/WOA23/dynamic_adjustment 4 | ocean/global_ocean/QU240/WOA23/files_for_e3sm 5 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/buttermilk_bay_standard_solution_169.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/buttermilk_bay_standard_solution_169.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/buttermilk_bay_subgrid_solution_169.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/buttermilk_bay_subgrid_solution_169.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_solution_360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/parabolic_bowl_subgrid_solution_360.png -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode='init' 2 | config_init_configuration='dam_break' 3 | config_dam_break_vert_levels=3 4 | config_dam_break_R0=12.0 5 | config_drying_min_cell_height=1.0e-2 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/daily_output_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration = '0001_00:00:00' 2 | config_AM_timeSeriesStatsDaily_enable = .true. 3 | config_AM_timeSeriesStatsDaily_restart_stream = 'none' 4 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/namelist.landice3: -------------------------------------------------------------------------------- 1 | config_do_restart = .true. 2 | config_start_time = '150001-01-01_00:00:00' 3 | config_run_duration = '150000-00-00_00:00:00' 4 | config_dt = '25-00-00_00:00:00' 5 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '2007-01-01_00:00:00' 2 | config_run_duration = '0003-00-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .false. 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/namelist.rk4.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:10:00' 2 | config_run_duration = '00:10:00' 3 | config_write_output_on_startup = .false. 4 | config_do_restart = .true. 5 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/spherical_harmonic_transform_convergence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/spherical_harmonic_transform_convergence.png -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/images/spherical_harmonic_transform_qu_function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MPAS-Dev/compass/HEAD/docs/users_guide/ocean/test_groups/images/spherical_harmonic_transform_qu_function.png -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.full.hydro: -------------------------------------------------------------------------------- 1 | config_start_time = '2007-01-01_00:00:00' 2 | config_run_duration = '0000-03-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .false. 5 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '2007-01-01_00:00:00' 2 | config_run_duration = '0002-00-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .false. 5 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_start_time = '2009-01-01_00:00:00' 2 | config_run_duration = '0001-00-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .true. 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:05:00' 2 | config_run_duration = '0000_00:05:00' 3 | config_write_output_on_startup = .false. 4 | config_do_restart = .true. 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/lts/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'init' 2 | config_init_configuration='dam_break' 3 | config_dam_break_vert_levels=1 4 | config_dam_break_R0=12.0 5 | config_drying_min_cell_height=1.0e-2 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/monthly_output_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration = '0000-01-00_00:00:00' 2 | config_AM_timeSeriesStatsMonthly_enable = .true. 3 | config_AM_timeSeriesStatsMonthly_restart_stream = 'none' 4 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/solitary_wave/namelist.hydro: -------------------------------------------------------------------------------- 1 | config_use_mom_del2 = .true. 2 | config_mom_del2 = 10.0 3 | config_use_vertMom_del2 = .true. 4 | config_vertMom_del2 = 10.0 5 | config_enable_nonhydrostatic_mode = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.restart.hydro: -------------------------------------------------------------------------------- 1 | config_start_time = '2007-01-01_00:00:00' 2 | config_run_duration = '0000-02-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .false. 5 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/namelist.restart.rst.hydro: -------------------------------------------------------------------------------- 1 | config_start_time = '2007-03-01_00:00:00' 2 | config_run_duration = '0000-01-00_00:00:00' 3 | config_write_output_on_startup = .true. 4 | config_do_restart = .true. 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/namelist.split_explicit_ab2.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_04:00:00' 2 | config_run_duration = '04:00:00' 3 | config_write_output_on_startup = .false. 4 | config_do_restart = .true. 5 | -------------------------------------------------------------------------------- /conda/albany_supported.txt: -------------------------------------------------------------------------------- 1 | # a list of supported machine, compiler and mpi combinations for Albany 2 | 3 | chicoma-cpu, gnu, mpich 4 | chrysalis, gnu, openmpi 5 | pm-cpu, gnu, mpich 6 | pm-gpu, gnugpu, mpich 7 | morpheus, gnu, openmpi 8 | -------------------------------------------------------------------------------- /docs/design_docs/index.rst: -------------------------------------------------------------------------------- 1 | .. _design_docs: 2 | 3 | **************** 4 | Design Documents 5 | **************** 6 | 7 | .. toctree:: 8 | :titlesonly: 9 | 10 | compass_package 11 | cached_outputs 12 | 13 | template 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/rrs6to18/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_run_duration = '3000-00-00_00:00:00' 2 | config_dt = '0100-00-00_00:00:00' 3 | config_adaptive_timestep = .false. 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/wc14.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/WC14/mesh 2 | ocean/global_ocean/WC14/WOA23/init 3 | ocean/global_ocean/WC14/WOA23/performance_test 4 | ocean/global_ocean/WC14/WOA23/dynamic_adjustment 5 | ocean/global_ocean/WC14/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0000-01-01_00:00:00' 2 | config_run_duration = '0002-00-00_00:00:00' 3 | config_dt = '0001-00-00_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_run_duration = '2000-00-00_00:00:00' 2 | config_dt = '0100-00-00_00:00:00' 3 | config_adaptive_timestep = .false. 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0000-01-01_00:00:00' 2 | config_run_duration = '0001-00-00_00:00:00' 3 | config_dt = '0001-00-00_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0001-00-00_00:00:00' 3 | config_dt = '0001-00-00_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .true. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/greenland/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000-00-05_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_dt = '0000-01-00_00:00:00' 2 | config_start_time = '0001-01-01_00:00:00' 3 | config_stop_time = '0001-03-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/restart_test/namelist.full: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000-00-05_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/drying_slope/namelist.sigma.forward: -------------------------------------------------------------------------------- 1 | config_implicit_bottom_drag_type = 'constant_and_rayleigh' 2 | config_Rayleigh_damping_depth_variable=.true. 3 | config_use_bulk_wind_stress = .false. 4 | config_pressure_gradient_type = 'pressure_and_zmid' 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_write_output_on_startup = .false. 3 | config_do_restart = .true. 4 | config_run_duration = 0000_00:05:00 5 | config_start_time = 0001-01-01_00:05:00 6 | -------------------------------------------------------------------------------- /compass/landice/tests/greenland/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-04_00:00:00' 2 | config_run_duration = '0000-00-02_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .true. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_dt = '0000-01-00_00:00:00' 2 | config_start_time = '0001-01-01_00:00:00' 3 | config_stop_time = '0001-02-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_dt = '0000-01-00_00:00:00' 2 | config_start_time = '0001-02-01_00:00:00' 3 | config_stop_time = '0001-03-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .true. 6 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000-00-03_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | 7 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-04_00:00:00' 2 | config_run_duration = '0000-00-02_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .true. 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/rrs6to18.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/RRS6to18/mesh 2 | ocean/global_ocean/RRS6to18/PHC/init 3 | ocean/global_ocean/RRS6to18/PHC/performance_test 4 | ocean/global_ocean/RRS6to18/PHC/dynamic_adjustment 5 | ocean/global_ocean/RRS6to18/PHC/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/namelist.landice2: -------------------------------------------------------------------------------- 1 | config_surface_air_temperature_value = 268.15 2 | config_do_restart = .true. 3 | config_start_time = '100001-01-01_00:00:00' 4 | config_run_duration = '050000-00-00_00:00:00' 5 | config_dt = '25-00-00_00:00:00' 6 | -------------------------------------------------------------------------------- /compass/landice/tests/greenland/restart_test/namelist.restart: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000-00-03_00:00:00' 3 | config_dt = '0000-00-01_00:00:00' 4 | config_write_output_on_startup = .true. 5 | config_do_restart = .false. 6 | 7 | -------------------------------------------------------------------------------- /compass/ocean/suites/ec30to60.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/EC30to60/mesh 2 | ocean/global_ocean/EC30to60/WOA23/init 3 | ocean/global_ocean/EC30to60/WOA23/performance_test 4 | ocean/global_ocean/EC30to60/WOA23/dynamic_adjustment 5 | ocean/global_ocean/EC30to60/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/so12to30.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/SO12to30/mesh 2 | ocean/global_ocean/SO12to30/WOA23/init 3 | ocean/global_ocean/SO12to30/WOA23/performance_test 4 | ocean/global_ocean/SO12to30/WOA23/dynamic_adjustment 5 | ocean/global_ocean/SO12to30/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/wcwisc14.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/WCwISC14/mesh 2 | ocean/global_ocean/WCwISC14/WOA23/init 3 | ocean/global_ocean/WCwISC14/WOA23/performance_test 4 | ocean/global_ocean/WCwISC14/WOA23/dynamic_adjustment 5 | ocean/global_ocean/WCwISC14/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/cosine_bell_cached_init.txt: -------------------------------------------------------------------------------- 1 | ocean/global_convergence/qu/cosine_bell 2 | cached: QU60_mesh QU60_init QU90_mesh QU90_init QU120_mesh QU120_init 3 | cached: QU150_mesh QU150_init QU180_mesh QU180_init QU210_mesh QU210_init 4 | cached: QU240_mesh QU240_init 5 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio8to60/kuroshio8to60.cfg: -------------------------------------------------------------------------------- 1 | # options for global ocean testcases 2 | [global_ocean] 3 | 4 | # the approximate number of cells in the mesh 5 | approx_cell_count = 460000 6 | 7 | # the minimum (finest) resolution in the mesh 8 | min_res = 8 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_run_duration = '0000_06:00:00' 3 | config_hmix_use_ref_cell_width = .true. 4 | config_write_output_on_startup = .false. 5 | config_use_debugTracers = .true. 6 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | updates: 4 | 5 | - package-ecosystem: "github-actions" 6 | directory: "/" 7 | schedule: 8 | interval: "weekly" 9 | assignees: 10 | - "xylar" 11 | reviewers: 12 | - "xylar" 13 | - "andrewdnolan" 14 | -------------------------------------------------------------------------------- /compass/landice/tests/mismipplus/mismipplus.cfg: -------------------------------------------------------------------------------- 1 | [mismipplus] 2 | 3 | # the number of cells per core to aim for 4 | goal_cells_per_core = 300 5 | 6 | # the approximate maximum number of cells per core (the test will fail if too 7 | # few cores are available) 8 | max_cells_per_core = 5000 9 | -------------------------------------------------------------------------------- /compass/ocean/suites/quwisc240_for_e3sm.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/QUwISC240/mesh 2 | ocean/global_ocean/QUwISC240/WOA23/init 3 | ocean/global_ocean/QUwISC240/WOA23/performance_test 4 | ocean/global_ocean/QUwISC240/WOA23/dynamic_adjustment 5 | ocean/global_ocean/QUwISC240/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio12to60/kuroshio12to60.cfg: -------------------------------------------------------------------------------- 1 | # options for global ocean testcases 2 | [global_ocean] 3 | 4 | # the approximate number of cells in the mesh 5 | approx_cell_count = 320000 6 | 7 | # the minimum (finest) resolution in the mesh 8 | min_res = 12 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/default/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'periodic_planar' 2 | config_vert_levels = -1 3 | config_periodic_planar_velocity_strength = 0.0 4 | config_ocean_run_mode = 'init' 5 | config_write_cull_cell_mask = .false. 6 | config_vertical_grid = 'uniform' 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/ziso/streams.particles: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/namelist.restart.rst: -------------------------------------------------------------------------------- 1 | config_run_duration = '1000-00-00_00:00:00' 2 | config_start_time = 'file' 3 | config_dt = '0100-00-00_00:00:00' 4 | config_adaptive_timestep = .false. 5 | config_write_output_on_startup = .true. 6 | config_do_restart = .true. 7 | -------------------------------------------------------------------------------- /compass/ocean/suites/rrswisc6to18.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/RRSwISC6to18/mesh 2 | ocean/global_ocean/RRSwISC6to18/PHC/init 3 | ocean/global_ocean/RRSwISC6to18/PHC/performance_test 4 | ocean/global_ocean/RRSwISC6to18/PHC/dynamic_adjustment 5 | ocean/global_ocean/RRSwISC6to18/PHC/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'parabolic_bowl' 2 | config_ocean_run_mode = 'init' 3 | config_use_wetting_drying = .true. 4 | config_drying_min_cell_height = 2e-2 5 | config_write_cull_cell_mask = .false. 6 | config_parabolic_bowl_vert_levels = 1 7 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/restart_test/streams.restart.rst: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /compass/machines/default.cfg: -------------------------------------------------------------------------------- 1 | # The parallel section describes options related to running tests in parallel 2 | [parallel] 3 | 4 | # parallel system of execution: slurm or single_node 5 | system = single_node 6 | 7 | # whether to use mpirun or srun to run the model 8 | parallel_executable = mpirun 9 | -------------------------------------------------------------------------------- /compass/ocean/suites/ecwisc30to60.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/ECwISC30to60/mesh 2 | ocean/global_ocean/ECwISC30to60/WOA23/init 3 | ocean/global_ocean/ECwISC30to60/WOA23/performance_test 4 | ocean/global_ocean/ECwISC30to60/WOA23/dynamic_adjustment 5 | ocean/global_ocean/ECwISC30to60/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/suites/sowisc12to30.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/SOwISC12to30/mesh 2 | ocean/global_ocean/SOwISC12to30/WOA23/init 3 | ocean/global_ocean/SOwISC12to30/WOA23/performance_test 4 | ocean/global_ocean/SOwISC12to30/WOA23/dynamic_adjustment 5 | ocean/global_ocean/SOwISC12to30/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/namelist.forward: -------------------------------------------------------------------------------- 1 | config_dt='0000_00:01:00' 2 | config_btr_dt='0000_00:00:09' 3 | config_run_duration='0000_00:12:00' 4 | config_use_cvmix_convection=.true. 5 | config_implicit_constant_bottom_drag_coeff=1.0e-2 6 | config_use_mom_del2=.true. 7 | config_mom_del2=1.0e3 8 | -------------------------------------------------------------------------------- /compass/ocean/suites/kuroshio8to60.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/Kuroshio8to60/mesh 2 | ocean/global_ocean/Kuroshio8to60/WOA23/init 3 | ocean/global_ocean/Kuroshio8to60/WOA23/performance_test 4 | ocean/global_ocean/Kuroshio8to60/WOA23/dynamic_adjustment 5 | ocean/global_ocean/Kuroshio8to60/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/namelist.single_layer.forward: -------------------------------------------------------------------------------- 1 | config_disable_thick_vadv = .true. 2 | config_disable_thick_sflux = .true. 3 | config_disable_vel_vmix = .true. 4 | config_disable_vel_vadv = .true. 5 | config_disable_tr_all_tend = .true. 6 | config_pressure_gradient_type = 'ssh_gradient' 7 | -------------------------------------------------------------------------------- /compass/landice/tests/greenland/namelist.landice: -------------------------------------------------------------------------------- 1 | config_dt = '0000-00-01_00:00:00' 2 | config_run_duration = '0000-00-05_00:00:00' 3 | config_block_decomp_file_prefix = 'graph.info.part.' 4 | config_calving = 'thickness_threshold' 5 | config_calving_thickness = 300.0 6 | config_restore_calving_front = .true. 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/default/default.cfg: -------------------------------------------------------------------------------- 1 | # Options relate to adjusting the sea-surface height or land-ice pressure 2 | # below ice shelves to they are dynamically consistent with one another 3 | [ssh_adjustment] 4 | 5 | # the number of iterations of ssh adjustment to perform 6 | iterations = 15 7 | -------------------------------------------------------------------------------- /compass/machines/conda-linux.cfg: -------------------------------------------------------------------------------- 1 | # Options related to deploying a compass conda environment on supported 2 | # machines 3 | [deploy] 4 | 5 | # the compiler set to use for system libraries and MPAS builds 6 | compiler = gnu 7 | 8 | # the system MPI library to use for gnu compiler 9 | mpi_gnu = mpich 10 | -------------------------------------------------------------------------------- /compass/machines/conda-osx.cfg: -------------------------------------------------------------------------------- 1 | # Options related to deploying a compass conda environment on supported 2 | # machines 3 | [deploy] 4 | 5 | # the compiler set to use for system libraries and MPAS builds 6 | compiler = clang 7 | 8 | # the system MPI library to use for gnu compiler 9 | mpi_clang = mpich 10 | -------------------------------------------------------------------------------- /compass/ocean/suites/kuroshio12to60.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/Kuroshio12to60/mesh 2 | ocean/global_ocean/Kuroshio12to60/WOA23/init 3 | ocean/global_ocean/Kuroshio12to60/WOA23/performance_test 4 | ocean/global_ocean/Kuroshio12to60/WOA23/dynamic_adjustment 5 | ocean/global_ocean/Kuroshio12to60/WOA23/files_for_e3sm 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/namelist.forward: -------------------------------------------------------------------------------- 1 | config_write_output_on_startup = .false. 2 | config_run_duration = '0000_00:15:00' 3 | config_use_mom_del2 = .true. 4 | config_implicit_constant_bottom_drag_coeff = 1.0e-2 5 | config_cvmix_background_diffusion = 0.0 6 | config_cvmix_background_viscosity = 1.0e-4 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/restart_test/restart_test.cfg: -------------------------------------------------------------------------------- 1 | # Options relate to adjusting the sea-surface height or land-ice pressure 2 | # below ice shelves to they are dynamically consistent with one another 3 | [ssh_adjustment] 4 | 5 | # the number of iterations of ssh adjustment to perform 6 | iterations = 2 7 | -------------------------------------------------------------------------------- /conda/otps/ci/osx.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '10.9' 3 | channel_sources: 4 | - conda-forge 5 | channel_targets: 6 | - e3sm compass 7 | fortran_compiler: 8 | - gfortran 9 | fortran_compiler_version: 10 | - '11' 11 | macos_machine: 12 | - x86_64-apple-darwin13.4.0 13 | target_platform: 14 | - osx-64 15 | -------------------------------------------------------------------------------- /compass/ocean/tests/spherical_harmonic_transform/qu_convergence/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'test_sht' 2 | config_ocean_run_mode = 'init' 3 | config_use_self_attraction_loading = .true. 4 | config_test_sht_function_option = 1 5 | config_test_sht_n_iterations = 1 6 | config_use_tidal_potential_forcing = .true. 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/ziso/namelist.particles: -------------------------------------------------------------------------------- 1 | config_AM_lagrPartTrack_enable = .true. 2 | config_AM_lagrPartTrack_sample_temperature = .true. 3 | config_AM_lagrPartTrack_sample_salinity = .true. 4 | config_AM_lagrPartTrack_reset_criteria = 'global_time' 5 | config_AM_lagrPartTrack_reset_global_timestamp = '0029_23:59:59' 6 | -------------------------------------------------------------------------------- /conda/otps/ci/linux.yaml: -------------------------------------------------------------------------------- 1 | cdt_name: 2 | - cos6 3 | channel_sources: 4 | - conda-forge 5 | channel_targets: 6 | - e3sm compass 7 | docker_image: 8 | - quay.io/condaforge/linux-anvil-cos7-x86_64 9 | fortran_compiler: 10 | - gfortran 11 | fortran_compiler_version: 12 | - '11' 13 | target_platform: 14 | - linux-64 15 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/namelist.wisc: -------------------------------------------------------------------------------- 1 | config_land_ice_flux_mode = 'standalone' 2 | config_init_vertical_grid_type = 'haney-number' 3 | config_global_ocean_depress_by_land_ice = .true. 4 | config_global_ocean_use_constant_land_ice_cavity_temperature = .true. 5 | config_global_ocean_constant_land_ice_cavity_temperature = -1.8 6 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/ec30to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:05:00' 3 | config_btr_dt = '00:00:10' 4 | config_run_duration = '0000_00:15:00' 5 | config_mom_del2 = 1000.0 6 | config_mom_del4 = 1.2e11 7 | config_hmix_scaleWithMesh = .true. 8 | config_use_GM = .true. 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris01to60/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris02to60/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris04to60/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris08to60/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/rrs6to18/streams.init: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.single_layer.forward: -------------------------------------------------------------------------------- 1 | config_disable_thick_vadv = .true. 2 | config_disable_thick_sflux = .true. 3 | config_disable_vel_vmix = .true. 4 | config_disable_vel_vadv = .true. 5 | config_disable_tr_all_tend = .true. 6 | config_disable_vel_hmix = .true. 7 | config_pressure_gradient_type = 'ssh_gradient' 8 | -------------------------------------------------------------------------------- /conda/petsc_supported.txt: -------------------------------------------------------------------------------- 1 | # a list of supported machine, compiler and mpi combinations for Netlib LAPACK 2 | # and PETSc 3 | 4 | anvil, intel, impi 5 | anvil, gnu, openmpi 6 | chicoma-cpu, gnu, mpich 7 | chrysalis, intel, openmpi 8 | chrysalis, gnu, openmpi 9 | compy, intel, impi 10 | morpheus, gnu, openmpi 11 | pm-cpu, gnu, mpich 12 | -------------------------------------------------------------------------------- /compass/landice/tests/circular_shelf/namelist.landice: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_stop_time = '0001-01-01_00:00:00' 3 | config_block_decomp_file_prefix = 'graph.info.part.' 4 | config_velocity_solver = 'FO' 5 | config_ice_density = 910.0 6 | config_dynamic_thickness = 10.0 7 | config_default_flowParamA = 1.80745813e-25 8 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/streams.wisc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /conda/otps/recipe/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | gdown 1FBlS_Xmf6_dnCg1T0t5GSTRTwMjLuA8N 5 | tar xvf OTPS.tar.Z 6 | 7 | cd OTPS 8 | 9 | for exec in extract_HC extract_local_model predict_tide 10 | do 11 | ${FC} ${FCFLAGS} -o ${exec} -fconvert=swap -frecord-marker=4 ${exec}.f90 subs.f90 12 | cp ${exec} ${PREFIX}/bin/ 13 | done 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/so12to30/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 1.0 3 | config_rx1_vert_smooth_weight = 1.0 4 | config_rx1_slope_weight = 1e-2 5 | config_rx1_zstar_weight = 1.0 6 | config_rx1_min_levels = 5 7 | config_rx1_min_layer_thickness = 2.0 8 | config_global_ocean_minimum_depth = 10.0 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/divergent_2d/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'init' 2 | config_init_configuration = 'transport_tests' 3 | config_use_debugTracers = .true. 4 | config_transport_tests_vert_levels = 3 5 | config_transport_tests_temperature = 15.0 6 | config_transport_tests_salinity = 35.0 7 | config_transport_tests_flow_id = 3 8 | 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/rotation_2d/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'init' 2 | config_init_configuration = 'transport_tests' 3 | config_use_debugTracers = .true. 4 | config_transport_tests_vert_levels = 3 5 | config_transport_tests_temperature = 15.0 6 | config_transport_tests_salinity = 35.0 7 | config_transport_tests_flow_id = 1 8 | 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/utility/cull_restarts/cull_restarts.cfg: -------------------------------------------------------------------------------- 1 | # config options related to culling MPAS-Ocean and -Seaice restart files 2 | # to exclude ice-shelf cavities 3 | [cull_restarts] 4 | 5 | # the ocean restart file 6 | ocean_restart_filename = <<>> 7 | 8 | # the sea-ice restart file 9 | seaice_restart_filename = <<>> 10 | -------------------------------------------------------------------------------- /docs/developers_guide/docs_example.txt: -------------------------------------------------------------------------------- 1 | baroclinic_channel 2 | ~~~~~~~~~~~~~~~~~~ 3 | 4 | .. currentmodule:: compass.ocean.tests.baroclinic_channel 5 | 6 | .. autosummary:: 7 | :toctree: generated/ 8 | 9 | collect 10 | configure 11 | 12 | decomp_test.collect 13 | decomp_test.configure 14 | decomp_test.run 15 | 16 | ... 17 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/nondivergent_2d/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'init' 2 | config_init_configuration = 'transport_tests' 3 | config_use_debugTracers = .true. 4 | config_transport_tests_vert_levels = 3 5 | config_transport_tests_temperature = 15.0 6 | config_transport_tests_salinity = 35.0 7 | config_transport_tests_flow_id = 2 8 | 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris01to60/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 10.0 3 | config_rx1_vert_smooth_weight = 10.0 4 | config_rx1_slope_weight = 1e-1 5 | config_rx1_zstar_weight = 10.0 6 | config_rx1_horiz_smooth_open_ocean_cells = 240 7 | config_rx1_min_levels = 5 8 | config_rx1_min_layer_thickness = 2 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris02to60/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 10.0 3 | config_rx1_vert_smooth_weight = 10.0 4 | config_rx1_slope_weight = 1e-1 5 | config_rx1_zstar_weight = 10.0 6 | config_rx1_horiz_smooth_open_ocean_cells = 120 7 | config_rx1_min_levels = 5 8 | config_rx1_min_layer_thickness = 2 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris04to60/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 10.0 3 | config_rx1_vert_smooth_weight = 10.0 4 | config_rx1_slope_weight = 1e-1 5 | config_rx1_zstar_weight = 10.0 6 | config_rx1_horiz_smooth_open_ocean_cells = 60 7 | config_rx1_min_levels = 5 8 | config_rx1_min_layer_thickness = 2 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris08to60/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 10.0 3 | config_rx1_vert_smooth_weight = 10.0 4 | config_rx1_slope_weight = 1e-1 5 | config_rx1_zstar_weight = 10.0 6 | config_rx1_horiz_smooth_open_ocean_cells = 30 7 | config_rx1_min_levels = 5 8 | config_rx1_min_layer_thickness = 2 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/correlated_tracers_2d/namelist.init: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'init' 2 | config_init_configuration = 'transport_tests' 3 | config_use_debugTracers = .true. 4 | config_transport_tests_vert_levels = 3 5 | config_transport_tests_temperature = 15.0 6 | config_transport_tests_salinity = 35.0 7 | config_transport_tests_flow_id = 4 8 | 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/namelist.subgrid.init: -------------------------------------------------------------------------------- 1 | config_use_subgrid_wetting_drying = .true. 2 | config_subgrid_table_levels = -1 3 | config_Buttermilk_bay_subgrid_table_levels = 100 4 | config_Buttermilk_bay_subgrid_refinement_level = 10 5 | config_Buttermilk_bay_subgrid_use_thin_layer = .false. 6 | config_Buttermilk_bay_subgrid_edge_bathymetry_max_pixel = .true. 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/isomip_plus/namelist.tidal_forcing.forward: -------------------------------------------------------------------------------- 1 | config_use_tidal_forcing = .true. 2 | config_use_tidal_forcing_tau = 100 3 | config_tidal_forcing_model = 'monochromatic' 4 | config_tidal_forcing_type = 'thickness_source' 5 | config_tidal_forcing_monochromatic_amp = 1.0 6 | config_disable_vel_coriolis = .true. 7 | config_land_ice_flux_mode = 'pressure_only' 8 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.subgrid.init: -------------------------------------------------------------------------------- 1 | config_use_subgrid_wetting_drying = .true. 2 | config_subgrid_table_levels = -1 3 | config_parabolic_bowl_subgrid_table_levels = 100 4 | config_parabolic_bowl_subgrid_refinement_level = 10 5 | config_parabolic_bowl_subgrid_use_thin_layer = .true. 6 | config_parabolic_bowl_subgrid_edge_bathymetry_max_pixel = .true. 7 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/streams.dismf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/smooth_topo.template: -------------------------------------------------------------------------------- 1 | &smooth 2 | filename_depth_in = "topography_culled.nc" 3 | filename_depth_out = "topography_orig_and_smooth.nc" 4 | filename_mpas_mesh = "mesh.nc" 5 | distanceLimit = {{ distance_limit }} 6 | stdDeviation = {{ std_deviation }} 7 | numSmoothingPasses = {{ num_passes }} 8 | / 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/rrs6to18/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:01:00' 3 | config_btr_dt = '00:00:03' 4 | config_run_duration = '0000_01:30:00' 5 | config_use_mom_del2 = .false. 6 | config_mom_del4 = 3.2e09 7 | config_hmix_scaleWithMesh = .true. 8 | config_use_GM = .false. 9 | config_use_Redi = .false. 10 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/wc14/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:01:00' 3 | config_btr_dt = '00:00:03' 4 | config_run_duration = '0000_01:00:00' 5 | config_write_output_on_startup = false. 6 | config_mom_del2 = 400 7 | config_mom_del4 = 7.7e9 8 | config_hmix_scaleWithMesh = .true. 9 | config_use_GM = .true. 10 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/default/default.cfg: -------------------------------------------------------------------------------- 1 | # config options for General Ocean Turbulence Model (GOTM) test cases 2 | [gotm] 3 | 4 | # the number of grid cells in x and y 5 | nx = 4 6 | ny = 4 7 | 8 | # the size of grid cells (m) 9 | dc = 2500.0 10 | 11 | # the number of vertical levels 12 | vert_levels = 250 13 | 14 | # the depth of the sea floor (m) 15 | bottom_depth = 15.0 16 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/arrm10to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:01:00' 3 | config_btr_dt = '00:00:03' 4 | config_run_duration = '0000_01:00:00' 5 | config_write_output_on_startup = false. 6 | config_mom_del2 = 10.0 7 | config_mom_del4 = 1.5e10 8 | config_hmix_scaleWithMesh = .true. 9 | config_use_GM = .true. 10 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/framework/index.rst: -------------------------------------------------------------------------------- 1 | .. _ocean_framework: 2 | 3 | Framework 4 | ========= 5 | 6 | The ocean core includes a small amount of framework code that is shared across 7 | test groups. The framework is expected to grow in the coming months as more 8 | test groups are added. 9 | 10 | .. toctree:: 11 | :titlesonly: 12 | 13 | ice_shelf 14 | mesh 15 | vertical 16 | -------------------------------------------------------------------------------- /compass/ocean/tests/drying_slope/namelist.single_layer.forward: -------------------------------------------------------------------------------- 1 | config_implicit_bottom_drag_type = 'constant' 2 | config_implicit_constant_bottom_drag_coeff = 3.0e-3 3 | config_disable_thick_vadv = .true. 4 | config_disable_thick_sflux = .true. 5 | config_disable_vel_hmix = .true. 6 | config_disable_vel_vadv = .true. 7 | config_disable_tr_all_tend = .true. 8 | config_pressure_gradient_type = 'ssh_gradient' 9 | -------------------------------------------------------------------------------- /compass/ocean/suites/lts.txt: -------------------------------------------------------------------------------- 1 | ocean/dam_break/40cm/default_lts 2 | ocean/dam_break/40cm/ramp_lts 3 | ocean/dam_break/120cm/default_lts 4 | ocean/dam_break/120cm/ramp_lts 5 | ocean/hurricane/DEQU120at30cr10rr2/mesh_lts 6 | ocean/hurricane/DEQU120at30cr10rr2/init_lts 7 | ocean/hurricane/DEQU120at30cr10rr2/sandy_lts 8 | ocean/parabolic_bowl/standard/ramp_lts 9 | ocean/parabolic_bowl/standard/noramp_lts 10 | -------------------------------------------------------------------------------- /compass/landice/tests/ensemble_generator/branch_ensemble/namelist.landice: -------------------------------------------------------------------------------- 1 | config_do_restart = .true. 2 | config_start_time = 'file' 3 | config_stop_time = '2300-01-01_00:00:00' 4 | config_grounded_von_Mises_threshold_stress = 1.0e9 5 | config_min_adaptive_timestep = 21600 6 | config_calving_error_threshold = 1.0e9 7 | config_front_mass_bal_grounded = 'ismip6' 8 | config_use_3d_thermal_forcing_for_face_melt = .true. 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/monthly_output_test/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/namelist.tidal_forcing.forward: -------------------------------------------------------------------------------- 1 | config_use_tidal_forcing = .true. 2 | config_use_tidal_forcing_tau = 10000 3 | config_tidal_forcing_model = 'monochromatic' 4 | config_tidal_forcing_type = 'thickness_source' 5 | config_tidal_forcing_monochromatic_amp = 1.0 6 | config_tidal_forcing_monochromatic_period = 10.0 7 | config_eos_type = 'linear' 8 | config_land_ice_flux_mode = 'pressure_only' 9 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/rrs6to18/namelist.init: -------------------------------------------------------------------------------- 1 | config_rx1_inner_iter_count = 20 2 | config_rx1_horiz_smooth_weight = 10.0 3 | config_rx1_vert_smooth_weight = 10.0 4 | config_rx1_slope_weight = 1e-1 5 | config_rx1_zstar_weight = 10.0 6 | config_rx1_horiz_smooth_open_ocean_cells = 40 7 | config_rx1_min_levels = 8 8 | config_rx1_min_layer_thickness = 2.5 9 | config_global_ocean_minimum_depth = 20.0 10 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/solitary_wave/namelist.nonhydro: -------------------------------------------------------------------------------- 1 | config_enable_nonhydrostatic_mode = .true. 2 | config_nonhydrostatic_solve_surface_boundary_condition = 'pressureTopGradientBottom' 3 | config_nonhydrostatic_preconditioner = 'bjacobi' 4 | config_nonhydrostatic_solver_type = 'cg' 5 | config_petsc_rtol = 1.0e-8 6 | config_petsc_atol = 1.0E-8 7 | config_petsc_maxit = 10000 8 | config_use_constant_forced_pgf = .false. 9 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "E3SM-Project"] 2 | path = E3SM-Project 3 | url = git@github.com:E3SM-Project/E3SM.git 4 | [submodule "MALI-Dev"] 5 | path = MALI-Dev 6 | url = git@github.com:MALI-Dev/E3SM.git 7 | [submodule "jigsaw-python"] 8 | path = jigsaw-python 9 | url = git@github.com:dengwirda/jigsaw-python.git 10 | [submodule "alphaBetaLab"] 11 | path = alphaBetaLab 12 | url = git@github.com:xylar/alphaBetaLab.git 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/namelist.forward: -------------------------------------------------------------------------------- 1 | config_dt = '00:05:00' 2 | config_btr_dt = '00:00:15' 3 | config_time_integrator = 'split_explicit' 4 | config_run_duration = '0000_00:15:00' 5 | config_pio_stride = 4 6 | config_use_mom_del2 = .true. 7 | config_mom_del2 = 10.0 8 | config_implicit_constant_bottom_drag_coeff = 1.0e-2 9 | config_cvmix_background_scheme = 'none' 10 | config_use_cvmix_convection = .true. 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/stratified_seiche/namelist.nonhydro: -------------------------------------------------------------------------------- 1 | config_enable_nonhydrostatic_mode = .true. 2 | config_nonhydrostatic_solve_surface_boundary_condition = 'pressureTopGradientBottom' 3 | config_nonhydrostatic_preconditioner = 'bjacobi' 4 | config_nonhydrostatic_solver_type = 'cg' 5 | config_petsc_rtol = 1.0e-10 6 | config_petsc_atol = 1.0E-10 7 | config_petsc_maxit = 10000 8 | config_use_constant_forced_pgf = .false. 9 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/streams.rk4.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/streams.rk4.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/restart_test/streams.restart.rst: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/files_for_e3sm/write_coeffs_reconstruct/streams.reconstruct: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/mesh/low_res_topography.cfg: -------------------------------------------------------------------------------- 1 | # config options related to remapping topography to an MPAS-Ocean mesh 2 | [remap_topography] 3 | 4 | # the name of the topography file in the bathymetry database 5 | topo_filename = BedMachineAntarctica-v3_GEBCO_2023_ne120_20250110.nc 6 | src_scrip_filename = ne120_20250110.scrip.nc 7 | 8 | # the target and minimum number of MPI tasks to use in remapping 9 | ntasks = 64 10 | min_tasks = 4 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'buttermilk_bay' 2 | config_ocean_run_mode = 'init' 3 | config_use_wetting_drying = .true. 4 | config_drying_min_cell_height = 0.05 5 | config_write_cull_cell_mask = .false. 6 | config_Buttermilk_bay_vert_levels = 1 7 | config_Buttermilk_bay_topography_file = 'buttermilk_bathy.nc' 8 | config_write_cull_cell_mask = .true. 9 | config_use_tidal_forcing = .true. 10 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/enthalpy_benchmark.cfg: -------------------------------------------------------------------------------- 1 | # config options for enthalpy benchmark test cases 2 | [enthalpy_benchmark] 3 | 4 | # sizes of the mesh (in cells) 5 | nx = 2 6 | ny = 2 7 | 8 | # resolution of the mesh (in m) 9 | dc = 1000.0 10 | 11 | # config options related to visualization for enthalpy benchmark test cases 12 | [enthalpy_benchmark_viz] 13 | 14 | # whether to show show plot window 15 | display_image = False -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/streams.split_explicit_ab2.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/restart_test/streams.split_explicit_ab2.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/isomip_plus/namelist.forward: -------------------------------------------------------------------------------- 1 | config_use_bulk_thickness_flux = .true. 2 | config_land_ice_flux_mode = 'standalone' 3 | config_use_activeTracers_interior_restoring = .true. 4 | config_use_activeTracers_surface_bulk_forcing = .true. 5 | config_AM_timeSeriesStatsMonthly_enable = .true. 6 | config_AM_globalStats_enable = .true. 7 | config_AM_globalStats_compute_on_startup = .true. 8 | config_AM_globalStats_write_on_startup = .true. 9 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/namelist.landice: -------------------------------------------------------------------------------- 1 | config_velocity_solver = 'none' 2 | config_thickness_advection = 'none' 3 | config_thermal_solver = 'enthalpy' 4 | config_max_water_fraction = 0.05 5 | config_surface_air_temperature_value = 243.15 6 | config_dt = '0010-00-00_00:00:00' 7 | config_block_decomp_file_prefix = 'graph.info.part.' 8 | config_AM_globalStats_enable = .false. 9 | config_year_digits = 6 10 | config_num_halos = 3 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu/icos.cfg: -------------------------------------------------------------------------------- 1 | # options for global ocean testcases 2 | [global_ocean] 3 | 4 | ## metadata related to the mesh 5 | # the prefix (e.g. QU, EC, WC, SO) 6 | prefix = Icos 7 | 8 | # a description of the mesh 9 | mesh_description = MPAS subdivided icosahedral mesh for E3SM version 10 | ${e3sm_version} at ${min_res}-km global resolution with 11 | <<>> vertical level 12 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/hurricane.cfg: -------------------------------------------------------------------------------- 1 | # options for spherical meshes 2 | [spherical_mesh] 3 | 4 | # Config options related to the step for culling land from the mesh 5 | # Whether to convert the culled mesh file to CDF5 format 6 | convert_culled_mesh_to_cdf5 = False 7 | # Minimum latitude, in degrees, for masking land-locked cells 8 | latitude_threshold = 43.0 9 | # Maximum number of sweeps to search for land-locked cells 10 | sweep_count = 20 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/dynamic_adjustment/streams.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/utility/create_salin_restoring/create_salin_restoring.cfg: -------------------------------------------------------------------------------- 1 | # config options related creating salinity restoring 2 | [salinity_restoring] 3 | 4 | # target resolution (NExxx) 5 | resolution = 300 6 | method = bilinear 7 | 8 | # threshold for masks below which interpolated variables are not renormalized 9 | renorm_thresh = 1e-3 10 | 11 | # the target and minimum number of MPI tasks to use in remapping 12 | ntasks = 1280 13 | min_tasks = 256 14 | -------------------------------------------------------------------------------- /compass/landice/tests/ismip6_run/ismip6_ais_proj2300/streams.mask_calving: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/landice/tests/ismip6_run/ismip6_ais_proj2300/streams.vM_params: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/rpe_test/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /compass/ocean/tests/ziso/with_frazil/with_frazil.cfg: -------------------------------------------------------------------------------- 1 | # config options for Zonally periodic Idealized Southern Ocean (ZISO) 2 | # testcases 3 | [ziso] 4 | 5 | # Initial temperature profile constant 6 | initial_temp_t1 = 0.0 7 | 8 | # Initial temperature profile tanh coefficient 9 | initial_temp_t2 = -1.0 10 | 11 | # Initial temperature profile tanh length scale 12 | initial_temp_h1 = 300.0 13 | 14 | # Initial temperature profile linear coefficient 15 | initial_temp_mt = 0.0 16 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris01to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:00:05' 3 | config_btr_dt = '00:00:00.17' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 38.5 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 6.83e6 9 | config_hmix_scaleWithMesh = .true. 10 | config_use_GM = .true. 11 | config_GM_closure = 'constant' 12 | config_GM_constant_kappa = 600.0 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris02to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:00:10' 3 | config_btr_dt = '00:00:00.3' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 77.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 5.46e7 9 | config_hmix_scaleWithMesh = .true. 10 | config_use_GM = .true. 11 | config_GM_closure = 'constant' 12 | config_GM_constant_kappa = 600.0 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris04to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:00:20' 3 | config_btr_dt = '00:00:00.6' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 154.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 4.37e8 9 | config_hmix_scaleWithMesh = .true. 10 | config_use_GM = .true. 11 | config_GM_closure = 'constant' 12 | config_GM_constant_kappa = 600.0 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/fris08to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:00:40' 3 | config_btr_dt = '00:00:01.3' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 308.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 3.5e9 9 | config_hmix_scaleWithMesh = .true. 10 | config_use_GM = .true. 11 | config_GM_closure = 'constant' 12 | config_GM_constant_kappa = 600.0 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/so12to30/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:01:00' 3 | config_btr_dt = '00:00:02' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 462.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 1.18e10 9 | config_hmix_scaleWithMesh = .true. 10 | config_use_GM = .true. 11 | config_GM_closure = 'constant' 12 | config_GM_constant_kappa = 600.0 13 | -------------------------------------------------------------------------------- /compass/landice/tests/dome/restart_test/streams.restart.rst: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /compass/load/load_script.template: -------------------------------------------------------------------------------- 1 | source {{ conda_base }}/etc/profile.d/conda.sh 2 | conda activate {{ conda_env }} 3 | 4 | export NETCDF=$(dirname $(dirname $(which nc-config))) 5 | export NETCDFF=$(dirname $(dirname $(which nf-config))) 6 | export PNETCDF=$(dirname $(dirname $(which pnetcdf-config))) 7 | 8 | {{ env_vars }} 9 | export PIO={{ conda_base}}/envs/{{ conda_env }} 10 | export USE_PIO2=true 11 | export HDF5_USE_FILE_LOCKING=FALSE 12 | export LOAD_COMPASS_ENV={{ load_script }} 13 | -------------------------------------------------------------------------------- /compass/ocean/suites/pr_to_cache.txt: -------------------------------------------------------------------------------- 1 | ocean/global_convergence/qu/cosine_bell 2 | 3 | ocean/global_ocean/IcoswISC240/mesh 4 | ocean/global_ocean/IcoswISC240/WOA23/init 5 | ocean/global_ocean/IcoswISC240/WOA23/performance_test 6 | 7 | ocean/global_ocean/Icos/mesh 8 | ocean/global_ocean/Icos/WOA23/init 9 | ocean/global_ocean/Icos/WOA23/performance_test 10 | 11 | ocean/global_ocean/IcoswISC/mesh 12 | ocean/global_ocean/IcoswISC/WOA23/init 13 | ocean/global_ocean/IcoswISC/WOA23/performance_test 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/default/namelist.forward: -------------------------------------------------------------------------------- 1 | config_dt = '000:00:25' 2 | config_btr_dt = '000:00:25' 3 | config_time_integrator = 'split_explicit_ab2' 4 | config_run_duration = '0000_12:00:00' 5 | config_zonal_ssh_grad = -1.0e-5 6 | config_pressure_gradient_type = 'constant_forced' 7 | config_use_cvmix = .false. 8 | config_use_gotm = .true. 9 | config_gotm_namelist_file = 'gotmturb.nml' 10 | config_gotm_constant_bottom_drag_coeff = 1.73e-2 11 | config_implicit_bottom_drag_coeff = 1.73e-2 12 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/B/B.cfg: -------------------------------------------------------------------------------- 1 | # config options for enthalpy benchmark test cases 2 | [enthalpy_benchmark] 3 | 4 | # number of levels in the mesh 5 | levels = 400 6 | 7 | # the initial thickness of the ice sheet (in m) 8 | thickness = 200.0 9 | 10 | # the basal heat flux (in W m^{-2}) 11 | basal_heat_flux = 0.0 12 | 13 | # the initial surface air temperature (in K) 14 | surface_air_temperature = 270.15 15 | 16 | # the initial ice temperature (in K) 17 | temperature = 270.15 18 | -------------------------------------------------------------------------------- /compass/landice/tests/greenland/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu240/namelist.rk4: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'RK4' 2 | config_dt = '0000_00:05:00' 3 | config_run_duration = '0000_00:10:00' 4 | config_hmix_use_ref_cell_width = .true. 5 | config_use_tracer_del2 = .true. 6 | config_use_tracer_del4 = .true. 7 | config_tracer_del4 = 1.2e11 8 | config_use_Leith_del2 = .true. 9 | config_use_GM = .true. 10 | config_use_frazil_ice_formation = .true. 11 | config_write_output_on_startup = .false. 12 | config_use_debugTracers = .true. 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/spherical_harmonic_transform/qu_convergence/qu_convergence.cfg: -------------------------------------------------------------------------------- 1 | # options for the QU mesh convergence test case for spherical harmonic transforms 2 | [qu_convergence] 3 | 4 | # a list of resolutions to test 5 | resolutions = 60, 30 6 | 7 | # a list of spherical harmoic orders to test for the parallel algorithm 8 | parallel_N = 18, 26, 29, 35, 60 9 | 10 | # a list of Gaussian grid resolutions (number of latitudes) for the serial algorithm 11 | serial_nLat = 40, 64, 92, 220, 980 12 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /compass/mpas_cores.py: -------------------------------------------------------------------------------- 1 | # import new MPAS cores here 2 | from compass.landice import Landice 3 | from compass.ocean import Ocean 4 | 5 | 6 | def get_mpas_cores(): 7 | """ 8 | Get a list of all collections of tests for MPAS cores 9 | 10 | Returns 11 | ------- 12 | mpas_cores : list of compass.MpasCore 13 | A list of MPAS cores containing all available tests 14 | """ 15 | # add new MPAS cores here 16 | mpas_cores = [Landice(), Ocean()] 17 | return mpas_cores 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/lock_exchange/nonhydro/namelist.forward: -------------------------------------------------------------------------------- 1 | config_use_vertMom_del2 = .true. 2 | config_vertMom_del2 = 2.0e-6 3 | config_enable_nonhydrostatic_mode = .true. 4 | config_nonhydrostatic_solve_surface_boundary_condition = 'pressureTopGradientBottom' 5 | config_nonhydrostatic_remove_rhs_mean = .false. 6 | config_nonhydrostatic_preconditioner = 'bjacobi' 7 | config_nonhydrostatic_solver_type = 'cg' 8 | config_petsc_rtol = 1.0e-10 9 | config_petsc_atol = 1.0E-10 10 | config_petsc_maxit = 10000 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/hydro_vs_nonhydro/namelist.nonhydro: -------------------------------------------------------------------------------- 1 | config_use_vertMom_del2 = .true. 2 | config_vertMom_del2 = 1.0 3 | config_enable_nonhydrostatic_mode = .true. 4 | config_nonhydrostatic_solve_surface_boundary_condition = 'pressureTopGradientBottom' 5 | config_nonhydrostatic_remove_rhs_mean = .false. 6 | config_nonhydrostatic_preconditioner = 'bjacobi' 7 | config_nonhydrostatic_solver_type = 'cg' 8 | config_petsc_rtol = 1.0e-10 9 | config_petsc_atol = 1.0E-10 10 | config_petsc_maxit = 10000 11 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/rpe_test/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /compass/machines/job_script.slurm.template: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | #SBATCH --nodes={{ job.nodes }} 4 | #SBATCH --time={{ job.time }} 5 | #SBATCH --account={{ machine.account }} 6 | #SBATCH --job-name={{ job.name }} 7 | #SBATCH --output={{ job.name }}.o%j 8 | #SBATCH --error={{ job.name }}.e%j 9 | #SBATCH --qos=interactive 10 | 11 | export OMP_NUM_THREADS=1 12 | 13 | source {{ machine.compass_envs }}/etc/profile.d/conda.sh 14 | conda activate compass_{{ compass.version }} 15 | export HDF5_USE_FILE_LOCKING=FALSE 16 | 17 | ./run.py -------------------------------------------------------------------------------- /compass/landice/tests/greenland/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu240/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '02:00:00' 3 | config_btr_dt = '00:06:00' 4 | config_run_duration = '0000_06:00:00' 5 | config_hmix_use_ref_cell_width = .true. 6 | config_use_tracer_del2 = .true. 7 | config_use_tracer_del4 = .true. 8 | config_tracer_del4 = 1.2e11 9 | config_use_Leith_del2 = .true. 10 | config_use_GM = .true. 11 | config_use_frazil_ice_formation = .true. 12 | config_write_output_on_startup = .false. 13 | config_use_debugTracers = .true. 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/namelist.forward: -------------------------------------------------------------------------------- 1 | config_btr_dt = '00:00:15' 2 | config_run_duration = '0000_00:10:00' 3 | config_use_mom_del2 = .true. 4 | config_mom_del2 = 10.0 5 | config_implicit_constant_bottom_drag_coeff = 1.0e-3 6 | config_eos_type = 'jm' 7 | config_pressure_gradient_type = 'Jacobian_from_TS' 8 | config_land_ice_flux_mode = 'standalone' 9 | config_check_ssh_consistency = .false. 10 | config_AM_globalStats_enable = .true. 11 | config_AM_globalStats_compute_on_startup = .true. 12 | config_AM_globalStats_write_on_startup = .true. 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/isomip_plus/namelist.time_varying_forcing: -------------------------------------------------------------------------------- 1 | config_use_time_varying_land_ice_forcing = .true. 2 | config_time_varying_land_ice_forcing_start_time = '0001-01-01_00:00:00' 3 | config_time_varying_land_ice_forcing_reference_time = '0001-01-01_00:00:00' 4 | config_time_varying_land_ice_forcing_cycle_start = 'none' 5 | config_time_varying_land_ice_forcing_cycle_duration = '0002-00-00_00:00:00' 6 | config_time_varying_land_ice_forcing_interval = '0001-00-00_00:00:00' 7 | config_pressure_gradient_type = 'Jacobian_from_TS' 8 | config_eos_type = 'jm' 9 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/restart_test/streams.restart.rst: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /compass/ocean/tests/utility/extrap_woa/extrap_woa.cfg: -------------------------------------------------------------------------------- 1 | # config options related to extrapolating WOA 2023 into ice-shelf cavities and 2 | # then grounded ice and land 3 | [extrap_woa] 4 | 5 | # the name of the topography file in the bathymetry database 6 | topo_filename = BedMachineAntarctica_v3_and_GEBCO_2023_0.0125_degree_20230831.nc 7 | 8 | # the target and minimum number of MPI tasks to use in remapping 9 | remap_ntasks = 1024 10 | remap_min_tasks = 360 11 | 12 | # remapping method {'bilinear', 'neareststod', 'conserve'} 13 | remap_method = conserve 14 | -------------------------------------------------------------------------------- /compass/landice/tests/crane/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.crane.mesh_gen import MeshGen 2 | from compass.testgroup import TestGroup 3 | 4 | 5 | class Crane(TestGroup): 6 | """ 7 | A test group for Crane Glacier test cases. 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.landice.Landice 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='crane') 15 | 16 | self.add_test_case(MeshGen(test_group=self)) 17 | -------------------------------------------------------------------------------- /docs/developers_guide/landice/test_groups/index.rst: -------------------------------------------------------------------------------- 1 | .. _dev_landice_test_groups: 2 | 3 | Test groups 4 | =========== 5 | 6 | 7 | .. toctree:: 8 | :titlesonly: 9 | 10 | antarctica 11 | calving_dt_convergence 12 | circular_shelf 13 | crane 14 | dome 15 | ensemble_generator 16 | enthalpy_benchmark 17 | eismint2 18 | greenland 19 | humboldt 20 | hydro_radial 21 | ismip6_forcing 22 | ismip6_run 23 | isunnguata_sermia 24 | kangerlussuaq 25 | koge_bugt_s 26 | mesh_modifications 27 | mismipplus 28 | thwaites 29 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio/wbc_rectangle3-1.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"KuroshioEast12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[105,53],[105,19],[180,19],[180,53],[105,53]]]}},{"type":"Feature","properties":{"name":"KuroshioWest12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[-180,53],[-180,19],[-154,19],[-154,53],[-180,53]]]}}]} 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio/wbc_rectangle3-2.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"KuroshioEast12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[105,53],[105,71],[180,71],[180,53],[105,53]]]}},{"type":"Feature","properties":{"name":"KuroshioWest12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[-180,53],[-180,71],[-154,71],[-154,53],[-180,53]]]}}]} 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio/wbc_rectangle3-3.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"KuroshioEast12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[105,23],[105,10],[180,10],[180,23],[105,23]]]}},{"type":"Feature","properties":{"name":"KuroshioWest12to60 high res region","component":"ocean","object":"region","author":"Yohei Takano"},"geometry":{"type":"Polygon","coordinates":[[[-180,23],[-180,10],[-154,10],[-154,23],[-180,23]]]}}]} 2 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/streams.topo: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.ocean.tests.gotm.default import Default 3 | 4 | 5 | class Gotm(TestGroup): 6 | """ 7 | A test group for General Ocean Turbulence Model (GOTM) test cases 8 | """ 9 | 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.MpasCore 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='gotm') 16 | 17 | self.add_test_case(Default(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/ten_day_test/namelist.forward: -------------------------------------------------------------------------------- 1 | config_dt = '00:05:00' 2 | config_btr_dt = '00:00:15' 3 | config_time_integrator = 'split_explicit' 4 | config_run_duration = '0010_00:00:00' 5 | config_pio_stride = 4 6 | config_use_mom_del2 = .true. 7 | config_mom_del2 = 10.0 8 | config_implicit_constant_bottom_drag_coeff = 1.0e-2 9 | config_use_cvmix_convection = .true. 10 | config_AM_globalStats_enable = .true. 11 | config_AM_globalStats_compute_on_startup = .true. 12 | config_AM_globalStats_write_on_startup = .true. 13 | config_AM_globalStats_text_file = .true. 14 | -------------------------------------------------------------------------------- /compass/landice/tests/antarctica/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.landice.tests.antarctica.mesh_gen import MeshGen 3 | 4 | 5 | class Antarctica(TestGroup): 6 | """ 7 | A test group for Antarctica test cases 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.landice.Landice 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='antarctica') 15 | 16 | self.add_test_case( 17 | MeshGen(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/landice/tests/koge_bugt_s/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.landice.tests.koge_bugt_s.mesh_gen import MeshGen 3 | 4 | 5 | class KogeBugtS(TestGroup): 6 | """ 7 | A test group for koge_bugt_s test cases 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.landice.Landice 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='koge_bugt_s') 15 | 16 | self.add_test_case( 17 | MeshGen(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/spherical_harmonic_transform/qu_convergence/streams.init: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /compass/ocean/suites/quwisc240.txt: -------------------------------------------------------------------------------- 1 | ocean/global_ocean/QUwISC240/mesh 2 | ocean/global_ocean/QUwISC240/WOA23/init 3 | ocean/global_ocean/QUwISC240/WOA23/performance_test 4 | ocean/global_ocean/QUwISC240/WOA23/restart_test 5 | ocean/global_ocean/QUwISC240/WOA23/decomp_test 6 | ocean/global_ocean/QUwISC240/WOA23/threads_test 7 | ocean/global_ocean/QUwISC240/WOA23/analysis_test 8 | ocean/global_ocean/QUwISC240/WOA23/RK4/performance_test 9 | ocean/global_ocean/QUwISC240/WOA23/RK4/restart_test 10 | ocean/global_ocean/QUwISC240/WOA23/RK4/decomp_test 11 | ocean/global_ocean/QUwISC240/WOA23/RK4/threads_test 12 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio8to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:05:00' 3 | config_btr_dt = '00:00:10' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 25.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 3.2e09 9 | config_hmix_scaleWithMesh = .true. 10 | config_hmix_ref_cell_width = 20.0e3 11 | config_use_GM = .true. 12 | config_GM_closure = 'constant' 13 | config_GM_constant_kappa = 600.0 14 | config_Redi_constant_kappa = 400.0 15 | config_Redi_maximum_slope = 0.01 16 | -------------------------------------------------------------------------------- /compass/landice/tests/thwaites/namelist.landice: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_run_duration = '0000-00-02_00:00:00' 3 | config_adaptive_timestep = .false. 4 | config_dt = '0000-00-01_00:00:00' 5 | config_block_decomp_file_prefix = 'graph.info.part.' 6 | config_velocity_solver = 'FO' 7 | config_thickness_advection = 'fo' 8 | config_tracer_advection = 'none' 9 | config_thermal_solver = 'none' 10 | config_temperature_init = 'file' 11 | config_basal_mass_bal_float = 'seroussi' 12 | config_calving = 'none' 13 | config_dynamic_thickness = 0.001 14 | config_write_output_on_startup = .true. 15 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/kuroshio12to60/namelist.split_explicit_ab2: -------------------------------------------------------------------------------- 1 | config_time_integrator = 'split_explicit_ab2' 2 | config_dt = '00:10:00' 3 | config_btr_dt = '00:00:10' 4 | config_run_duration = '0000_01:00:00' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 200.0 7 | config_use_mom_del4 = .true. 8 | config_mom_del4 = 1.18e10 9 | config_hmix_scaleWithMesh = .true. 10 | config_hmix_ref_cell_width = 20.0e3 11 | config_use_GM = .true. 12 | config_GM_closure = 'constant' 13 | config_GM_constant_kappa = 600.0 14 | config_Redi_constant_kappa = 400.0 15 | config_Redi_maximum_slope = 0.01 16 | -------------------------------------------------------------------------------- /compass/ocean/tests/isomip_plus/namelist.thin_film.forward_and_ssh_adjust: -------------------------------------------------------------------------------- 1 | config_time_integrator='RK4' 2 | config_thickness_flux_type='upwind' 3 | config_land_ice_flux_mode='standalone' 4 | config_vert_advection_method='flux-form' 5 | config_use_wetting_drying=.true. 6 | config_drying_safety_height=1e-10 7 | config_drying_min_cell_height=1.0e-3 8 | config_zero_drying_velocity_ramp=.false. 9 | config_zero_drying_velocity_ramp_hmin=1e-3 10 | config_zero_drying_velocity_ramp_hmax=1e-1 11 | config_use_ssh_gradient_wetting_drying=.false. 12 | config_prevent_drying=.true. 13 | config_zero_drying_velocity = .true. 14 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/rpe_test/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/developers_guide/machines/perlmutter.rst: -------------------------------------------------------------------------------- 1 | Perlmutter 2 | ========== 3 | 4 | For most machine-specific details (including config options and how to 5 | enable hyperthreading), see the User's Guide under :ref:`machine_perlmutter`. 6 | 7 | pm-cpu, gnu 8 | ----------- 9 | 10 | If you've set things up for this compiler, you should be able to source a load 11 | script similar to: 12 | 13 | .. code-block:: bash 14 | 15 | source load_dev_compass_1.2.0-alpha.2_pm-cpu_gnu_mpich.sh 16 | 17 | Then, you can build the MPAS model with 18 | 19 | .. code-block:: bash 20 | 21 | make [DEBUG=true] gnu-cray 22 | -------------------------------------------------------------------------------- /compass/landice/tests/kangerlussuaq/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.landice.tests.kangerlussuaq.mesh_gen import MeshGen 3 | 4 | 5 | class Kangerlussuaq(TestGroup): 6 | """ 7 | A test group for kangerlussuaq test cases 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.landice.Landice 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='kangerlussuaq') 15 | 16 | self.add_test_case( 17 | MeshGen(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/landice/tests/isunnguata_sermia/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.isunnguata_sermia.mesh_gen import MeshGen 2 | from compass.testgroup import TestGroup 3 | 4 | 5 | class IsunnguataSermia(TestGroup): 6 | """ 7 | A test group for isunnguata_sermia test cases 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.landice.Landice 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='isunnguata_sermia') 15 | 16 | self.add_test_case( 17 | MeshGen(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu240/dynamic_adjustment.yaml: -------------------------------------------------------------------------------- 1 | dynamic_adjustment: 2 | land_ice_flux_mode: data 3 | get_dt_from_min_res: False 4 | 5 | steps: 6 | damped_adjustment_1: 7 | run_duration: 1_00:00:00 8 | output_interval: 1_00:00:00 9 | restart_interval: 1_00:00:00 10 | dt: 02:00:00 11 | btr_dt: 00:06:00 12 | Rayleigh_damping_coeff: 1.0e-4 13 | 14 | simulation: 15 | run_duration: 1_00:00:00 16 | output_interval: 1_00:00:00 17 | restart_interval: 1_00:00:00 18 | dt: 02:00:00 19 | btr_dt: 00:06:00 20 | Rayleigh_damping_coeff: None 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/restart_test/streams.full: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/parabolic_bowl/namelist.forward: -------------------------------------------------------------------------------- 1 | config_run_duration='0003_00:00:00' 2 | config_time_integrator='RK4' 3 | config_vert_coord_movement='impermeable_interfaces' 4 | config_ALE_thickness_proportionality='weights_only' 5 | config_use_wetting_drying=.true. 6 | config_prevent_drying=.true. 7 | config_drying_min_cell_height=2.0e-2 8 | config_zero_drying_velocity=.true. 9 | config_verify_not_dry=.true. 10 | config_thickness_flux_type='upwind' 11 | config_use_cvmix=.false. 12 | config_check_ssh_consistency=.false. 13 | config_implicit_constant_bottom_drag_coeff = 0.0 14 | config_use_ssh_gradient_wetting_drying = .true. 15 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/restart_test/streams.restart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/namelist.forward: -------------------------------------------------------------------------------- 1 | config_time_integrator='RK4' 2 | config_run_duration='0000_00:00:10' 3 | config_implicit_constant_bottom_drag_coeff=2.5e-3 4 | config_use_mom_del2=.true. 5 | config_use_mom_del4=.true. 6 | config_mom_del2=1.0e-2 7 | config_mom_del4=1.0e-6 8 | config_check_ssh_consistency=.false. 9 | config_use_wetting_drying=.true. 10 | config_prevent_drying=.true. 11 | config_zero_drying_velocity=.true. 12 | config_drying_min_cell_height=1e-6 13 | config_thickness_flux_type='upwind' 14 | config_vert_coord_movement='impermeable_interfaces' 15 | config_use_debugTracers=.false. 16 | config_disable_tr_all_tend=.true. 17 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/hydro_radial.cfg: -------------------------------------------------------------------------------- 1 | # config options for hydro_radial test cases 2 | [hydro_radial] 3 | 4 | # sizes (in cells) for the 1000m uniform mesh 5 | nx = 50 6 | ny = 58 7 | 8 | # resolution (in m) for the 1000m uniform mesh 9 | dc = 1000.0 10 | 11 | # number of levels in the mesh 12 | levels = 3 13 | 14 | 15 | # config options related to visualization for hydro_radial test cases 16 | [hydro_radial_viz] 17 | 18 | # which time index to visualize 19 | time_slice = -1 20 | 21 | # whether to save image files 22 | save_images = True 23 | 24 | # whether to hide figures (typically when save_images = True) 25 | hide_figs = True 26 | -------------------------------------------------------------------------------- /compass/landice/suites/calving_dt_convergence.txt: -------------------------------------------------------------------------------- 1 | landice/calving_dt_convergence/mismip+.specified_calving_velocity.none 2 | landice/calving_dt_convergence/mismip+.von_Mises_stress.none 3 | landice/calving_dt_convergence/humboldt.specified_calving_velocity.none 4 | landice/calving_dt_convergence/humboldt.von_Mises_stress.none 5 | landice/calving_dt_convergence/thwaites.specified_calving_velocity.none 6 | landice/calving_dt_convergence/thwaites.von_Mises_stress.none 7 | landice/calving_dt_convergence/mismip+.von_Mises_stress.FO 8 | landice/calving_dt_convergence/humboldt.von_Mises_stress.FO 9 | landice/calving_dt_convergence/thwaites.von_Mises_stress.FO 10 | -------------------------------------------------------------------------------- /compass/ocean/mesh/south_pole.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "features": [ 4 | { 5 | "type": "Feature", 6 | "properties": { 7 | "name": "South Pole", 8 | "tags": "seed_point", 9 | "object": "point", 10 | "component": "landice", 11 | "author": "Xylar Asay-Davis" 12 | }, 13 | "geometry": { 14 | "type": "Point", 15 | "coordinates": [ 16 | 0.0, 17 | -90.0 18 | ] 19 | } 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_channel/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/ice_shelf_2d/namelist.single_layer.forward_and_ssh_adjust: -------------------------------------------------------------------------------- 1 | config_time_integrator='RK4' 2 | config_bottom_drag_mode = 'explicit' 3 | config_explicit_bottom_drag_coeff = 3.0e-3 4 | config_AM_globalStats_enable = .false. 5 | config_AM_globalStats_compute_on_startup = .false. 6 | config_AM_globalStats_write_on_startup = .false. 7 | config_compute_active_tracer_budgets = .false. 8 | config_disable_thick_vadv = .true. 9 | config_disable_thick_sflux = .true. 10 | config_disable_vel_hmix = .true. 11 | config_disable_vel_vmix = .true. 12 | config_disable_vel_vadv = .true. 13 | config_disable_tr_all_tend = .true. 14 | config_disable_redi_k33 = .true. 15 | -------------------------------------------------------------------------------- /docs/developers_guide/ocean/test_groups/index.rst: -------------------------------------------------------------------------------- 1 | .. _dev_ocean_test_groups: 2 | 3 | Test groups 4 | =========== 5 | 6 | 7 | .. toctree:: 8 | :titlesonly: 9 | 10 | baroclinic_channel 11 | baroclinic_gyre 12 | buttermilk_bay 13 | dam_break 14 | drying_slope 15 | global_convergence 16 | global_ocean 17 | gotm 18 | hurricane 19 | ice_shelf_2d 20 | internal_wave 21 | isomip_plus 22 | lock_exchange 23 | merry_go_round 24 | nonhydro 25 | overflow 26 | parabolic_bowl 27 | planar_convergence 28 | soma 29 | sphere_transport 30 | spherical_harmonic_transform 31 | tides 32 | utility 33 | ziso 34 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/planar_convergence/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.ocean.tests.planar_convergence.horizontal_advection import \ 3 | HorizontalAdvection 4 | 5 | 6 | class PlanarConvergence(TestGroup): 7 | """ 8 | A test group for testing horizontal advection in MPAS-Ocean 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.ocean.Ocean 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='planar_convergence') 16 | 17 | self.add_test_case(HorizontalAdvection(test_group=self)) 18 | -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/default/streams.init: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/developers_guide/machines/compy.rst: -------------------------------------------------------------------------------- 1 | .. _dev_machine_compy: 2 | 3 | CompyMcNodeFace 4 | =============== 5 | 6 | intel 7 | ----- 8 | 9 | This works to build (but not yet run) standalone MPAS. Again, we will update 10 | as soon as we have a solution. 11 | 12 | This is the default ``compass`` compiler on CompyMcNodeFace. If the 13 | environment has been set up properly (see :ref:`dev_conda_env`), you should be 14 | able to source: 15 | 16 | .. code-block:: bash 17 | 18 | source load_dev_compass_1.0.0_compy_intel_impi.sh 19 | 20 | Then, you can build the MPAS model with 21 | 22 | .. code-block:: bash 23 | 24 | make [DEBUG=true] [OPENMP=true] intel-mpi 25 | 26 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/namelist.woa23: -------------------------------------------------------------------------------- 1 | config_global_ocean_temperature_file = 'woa23.nc' 2 | config_global_ocean_salinity_file = 'woa23.nc' 3 | config_global_ocean_tracer_nlat_dimname = 'lat' 4 | config_global_ocean_tracer_nlon_dimname = 'lon' 5 | config_global_ocean_tracer_ndepth_dimname = 'depth' 6 | config_global_ocean_tracer_depth_conversion_factor = 1.0 7 | config_global_ocean_temperature_varname = 'pt_an' 8 | config_global_ocean_salinity_varname = 's_an' 9 | config_global_ocean_tracer_latlon_degrees = .true. 10 | config_global_ocean_tracer_lat_varname = 'lat' 11 | config_global_ocean_tracer_lon_varname = 'lon' 12 | config_global_ocean_tracer_depth_varname = 'depth' 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/hydro_vs_nonhydro/namelist.forward: -------------------------------------------------------------------------------- 1 | config_write_output_on_startup = .true. 2 | config_run_duration = '0000_03:00:00' 3 | config_dt = '00:00:0.5' 4 | config_time_integrator = 'RK4' 5 | config_use_mom_del2 = .true. 6 | config_mom_del2 = 1.0 7 | config_use_mom_del4 = .false. 8 | config_vert_tracer_adv_flux_order = 3 9 | config_horiz_tracer_adv_order = 2 10 | config_coef_3rd_order = 0.25 11 | config_flux_limiter = 'monotonic' 12 | config_enable_nonhydrostatic_mode = .false. 13 | config_use_cvmix = .true. 14 | config_disable_vvel_coriolis = .true. 15 | config_disable_tr_sflux = .true. 16 | config_disable_tr_nonlocalflux = .true. 17 | config_eos_type = 'linear' 18 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = compass 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/buttermilk_bay/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.buttermilk_bay.default import Default 2 | from compass.testgroup import TestGroup 3 | 4 | 5 | class ButtermilkBay(TestGroup): 6 | """ 7 | A test group for Buttermilk Bay (subgrid wetting-and-drying) test cases 8 | """ 9 | 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.MpasCore 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='buttermilk_bay') 16 | for wetdry in ['standard', 'subgrid']: 17 | self.add_test_case( 18 | Default(test_group=self, wetdry=wetdry)) 19 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/namelist.phc: -------------------------------------------------------------------------------- 1 | config_global_ocean_temperature_file = 'temperature.nc' 2 | config_global_ocean_salinity_file = 'salinity.nc' 3 | config_global_ocean_tracer_nlat_dimname = 't_lat' 4 | config_global_ocean_tracer_nlon_dimname = 't_lon' 5 | config_global_ocean_tracer_ndepth_dimname = 'depth_t' 6 | config_global_ocean_tracer_depth_conversion_factor = 0.01 7 | config_global_ocean_temperature_varname = 'TEMP' 8 | config_global_ocean_salinity_varname = 'SALT' 9 | config_global_ocean_tracer_latlon_degrees = .true. 10 | config_global_ocean_tracer_lat_varname = 't_lat' 11 | config_global_ocean_tracer_lon_varname = 't_lon' 12 | config_global_ocean_tracer_depth_varname = 'depth_t' 13 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.landice.tests.enthalpy_benchmark.A import A 3 | from compass.landice.tests.enthalpy_benchmark.B import B 4 | 5 | 6 | class EnthalpyBenchmark(TestGroup): 7 | """ 8 | A test group for enthalpy benchmark test cases 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.landice.Landice 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='enthalpy_benchmark') 16 | 17 | self.add_test_case(A(test_group=self)) 18 | self.add_test_case(B(test_group=self)) 19 | -------------------------------------------------------------------------------- /compass/landice/tests/mesh_modifications/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.mesh_modifications.subdomain_extractor import ( 2 | SubdomainExtractor, 3 | ) 4 | from compass.testgroup import TestGroup 5 | 6 | 7 | class MeshModifications(TestGroup): 8 | """ 9 | A test group for automating modifications to existing meshes 10 | """ 11 | def __init__(self, mpas_core): 12 | """ 13 | mpas_core : compass.landice.Landice 14 | the MPAS core that this test group belongs to 15 | """ 16 | super().__init__(mpas_core=mpas_core, 17 | name='mesh_modifications') 18 | 19 | self.add_test_case(SubdomainExtractor(test_group=self)) 20 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/namelist.en4_1900: -------------------------------------------------------------------------------- 1 | config_global_ocean_temperature_file = 'temperature.nc' 2 | config_global_ocean_salinity_file = 'salinity.nc' 3 | config_global_ocean_tracer_nlat_dimname = 't_lat' 4 | config_global_ocean_tracer_nlon_dimname = 't_lon' 5 | config_global_ocean_tracer_ndepth_dimname = 'depth_t' 6 | config_global_ocean_tracer_depth_conversion_factor = 1.0 7 | config_global_ocean_temperature_varname = 'TEMP' 8 | config_global_ocean_salinity_varname = 'SALT' 9 | config_global_ocean_tracer_latlon_degrees = .true. 10 | config_global_ocean_tracer_lat_varname = 't_lat' 11 | config_global_ocean_tracer_lon_varname = 't_lon' 12 | config_global_ocean_tracer_depth_varname = 'depth_t' 13 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/remap_mali_topography/ais_4to20km.cfg: -------------------------------------------------------------------------------- 1 | # config options related to remapping topography to an MPAS-Ocean mesh 2 | [remap_topography] 3 | 4 | # the density of land ice from MALI (kg/m^3) 5 | ice_density = 910.0 6 | 7 | # the density of ocean water (kg/m^3), equivalent to config_ocean_density in MALI 8 | ocean_density = 1028.0 9 | 10 | # the elevation of sea level, equivalent to config_sea_level in MALI 11 | sea_level = 0.0 12 | 13 | 14 | # config options related to remapping MALI topography to an MPAS-Ocean mesh 15 | [remap_mali_topography] 16 | 17 | # The name of the MALI topogrpahy file 18 | mali_filename = AIS_4to20km_20241118_relaxation_0TGmelt_10yr.20241224.nc 19 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/streams.init: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # COMPASS 2 | 3 | The COMPASS (Configuration Of Model for Prediction Across Scales Setups) 4 | infrastructure provides a capability for defining simple test-case workflows. 5 | It is intended to house a small number of files which can describe the steps 6 | to set up and configure a test case. 7 | 8 | 9 | ## Documentation 10 | 11 | The latest compass documentation can be found here: 12 | 13 | [http://mpas-dev.github.io/compass/latest/](http://mpas-dev.github.io/compass/latest/) 14 | 15 | Documentation on the [legacy version of COMPASS](https://github.com/MPAS-Dev/compass/tree/legacy) 16 | can be found here: 17 | 18 | [http://mpas-dev.github.io/compass/legacy/](http://mpas-dev.github.io/compass/legacy/) 19 | -------------------------------------------------------------------------------- /compass/landice/tests/ismip6_run/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.ismip6_run.ismip6_ais_proj2300 import ( 2 | Ismip6AisProj2300, 3 | ) 4 | from compass.testgroup import TestGroup 5 | 6 | 7 | class Ismip6Run(TestGroup): 8 | """ 9 | A test group for automated setup of a suite of standardized 10 | ISMIP6 simulations 11 | 12 | Attributes 13 | ---------- 14 | """ 15 | def __init__(self, mpas_core): 16 | """ 17 | mpas_core : compass.landice.Landice 18 | the MPAS core that this test group belongs to 19 | """ 20 | super().__init__(mpas_core=mpas_core, name='ismip6_run') 21 | 22 | self.add_test_case(Ismip6AisProj2300(test_group=self)) 23 | -------------------------------------------------------------------------------- /compass/ocean/tests/planar_convergence/horizontal_advection/horizontal_advection.cfg: -------------------------------------------------------------------------------- 1 | # options for planar horizontal advection test case 2 | [horizontal_advection] 3 | 4 | # Temperature (deg C) of the ocean 5 | temperature = 15.0 6 | 7 | # Salinity (PSU) of the surface of the ocean 8 | salinity = 35.0 9 | 10 | # center of the tracer gaussian (km) 11 | x_center = 0. 12 | y_center = 0. 13 | 14 | # width of gaussian tracer "blob" (km) 15 | gaussian_width = 50 16 | 17 | # whether to advect in x, y, or both 18 | advect_x = True 19 | advect_y = True 20 | 21 | # convergence threshold below which the test fails 22 | conv_thresh = 1.9 23 | 24 | # Convergence rate above which a warning is issued 25 | conv_max = 2.3 26 | 27 | -------------------------------------------------------------------------------- /compass/ocean/tests/gotm/default/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /example_configs/example.cfg: -------------------------------------------------------------------------------- 1 | # This file contains some common config options you might want to set 2 | 3 | # The paths section describes paths to databases and shared compass environments 4 | [paths] 5 | 6 | # A root directory where MPAS standalone data can be found 7 | database_root = /mpas_standalonedata 8 | 9 | # The parallel section describes options related to running tests in parallel 10 | [parallel] 11 | 12 | # parallel system of execution: slurm or single_node 13 | system = single_node 14 | 15 | # whether to use mpirun or srun to run the model 16 | parallel_executable = mpirun -host localhost 17 | 18 | # cores per node on the machine, detected automatically by default 19 | # cores_per_node = 4 20 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/qu/dynamic_adjustment.yaml: -------------------------------------------------------------------------------- 1 | dynamic_adjustment: 2 | land_ice_flux_mode: pressure_only 3 | get_dt_from_min_res: True 4 | 5 | steps: 6 | damped_adjustment_1: 7 | run_duration: 10_00:00:00 8 | output_interval: 10_00:00:00 9 | restart_interval: 10_00:00:00 10 | Rayleigh_damping_coeff: 1.0e-4 11 | 12 | damped_adjustment_2: 13 | run_duration: 10_00:00:00 14 | output_interval: 10_00:00:00 15 | restart_interval: 10_00:00:00 16 | Rayleigh_damping_coeff: 1.0e-5 17 | 18 | simulation: 19 | run_duration: 80_00:00:00 20 | output_interval: 10_00:00:00 21 | restart_interval: 10_00:00:00 22 | Rayleigh_damping_coeff: None 23 | -------------------------------------------------------------------------------- /compass/landice/tests/circular_shelf/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.landice.tests.circular_shelf.decomposition_test \ 3 | import DecompositionTest 4 | 5 | 6 | class CircularShelf(TestGroup): 7 | """ 8 | A test group for circular shelf test cases 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.landice.Landice 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='circular_shelf') 16 | 17 | for mesh_type in ['1250m', ]: 18 | self.add_test_case(DecompositionTest(test_group=self, 19 | mesh_type=mesh_type)) 20 | -------------------------------------------------------------------------------- /compass/ocean/tests/lock_exchange/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.lock_exchange.hydro import Hydro 2 | from compass.ocean.tests.lock_exchange.nonhydro import Nonhydro 3 | from compass.testgroup import TestGroup 4 | 5 | 6 | class LockExchange(TestGroup): 7 | """ 8 | A test group for lock exchange type test cases 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.MpasCore 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='lock_exchange') 16 | 17 | self.add_test_case( 18 | Hydro(test_group=self)) 19 | self.add_test_case( 20 | Nonhydro(test_group=self)) 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/mesh/remap_mali_topography/ais_2to10km.cfg: -------------------------------------------------------------------------------- 1 | # config options related to remapping topography to an MPAS-Ocean mesh 2 | [remap_topography] 3 | 4 | # the density of land ice from MALI (kg/m^3) 5 | ice_density = 910.0 6 | 7 | # the density of ocean water (kg/m^3), equivalent to config_ocean_density in MALI 8 | ocean_density = 1028.0 9 | 10 | # the elevation of sea level, equivalent to config_sea_level in MALI 11 | sea_level = 0.0 12 | 13 | 14 | # config options related to remapping MALI topography to an MPAS-Ocean mesh 15 | [remap_mali_topography] 16 | 17 | # The name of the MALI topogrpahy file 18 | mali_filename = ais_2to10km_20231222_modifiedBathymetry-drop20m-smooth6x_bulldozedTroughs-75-400m_BEDMAP2-ASE-mjh.nc 19 | -------------------------------------------------------------------------------- /compass/ocean/tests/utility/cull_restarts/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.utility.cull_restarts.cull import Cull 2 | from compass.testcase import TestCase 3 | 4 | 5 | class CullRestarts(TestCase): 6 | """ 7 | A test case for culling MPAS-Ocean and -Seaice restart files to exclude 8 | ice-shelf cavities 9 | """ 10 | 11 | def __init__(self, test_group): 12 | """ 13 | Create the test case 14 | 15 | Parameters 16 | ---------- 17 | test_group : compass.ocean.tests.utility.Utility 18 | The test group that this test case belongs to 19 | """ 20 | super().__init__(test_group=test_group, name='cull_restarts') 21 | 22 | self.add_step(Cull(test_case=self)) 23 | -------------------------------------------------------------------------------- /compass/ocean/tests/merry_go_round/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.ocean.tests.merry_go_round.default import Default 3 | from compass.ocean.tests.merry_go_round.convergence_test import ConvergenceTest 4 | 5 | 6 | class MerryGoRound(TestGroup): 7 | """ 8 | A test group for tracer advection test cases "merry-go-round" 9 | """ 10 | 11 | def __init__(self, mpas_core): 12 | """ 13 | mpas_core : compass.MpasCore 14 | the MPAS core that this test group belongs to 15 | """ 16 | super().__init__(mpas_core=mpas_core, name='merry_go_round') 17 | 18 | self.add_test_case(Default(test_group=self)) 19 | self.add_test_case(ConvergenceTest(test_group=self)) 20 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | from compass.ocean.tests.nonhydro.solitary_wave import SolitaryWave 3 | from compass.ocean.tests.nonhydro.stratified_seiche import StratifiedSeiche 4 | 5 | 6 | class Nonhydro(TestGroup): 7 | """ 8 | A test group for nonhydrostatic test cases 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.MpasCore 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='nonhydro') 16 | 17 | self.add_test_case( 18 | SolitaryWave(test_group=self)) 19 | self.add_test_case( 20 | StratifiedSeiche(test_group=self)) 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/nonhydro/nonhydro.cfg: -------------------------------------------------------------------------------- 1 | # Config options for the horizontal grid 2 | [horizontal_grid] 3 | 4 | # Number of cells in the x-direction 5 | nx = 320 6 | 7 | # Number of cells in the y-direction 8 | ny = 4 9 | 10 | # Distance from two cell centers 11 | dc = 20.0 12 | 13 | # Options related to the vertical grid 14 | [vertical_grid] 15 | 16 | # Depth of the bottom of the ocean (m) 17 | bottom_depth = 200.0 18 | 19 | # Number of vertical levels 20 | vert_levels = 60 21 | 22 | # The type of vertical grid 23 | grid_type = uniform 24 | 25 | # The type of vertical coordinate (e.g. z-level, z-star) 26 | coord_type = z-star 27 | 28 | # Whether to use "partial" or "full", or "None" to not alter the topography 29 | partial_cell_type = None 30 | -------------------------------------------------------------------------------- /conda/otps/recipe/meta.yaml: -------------------------------------------------------------------------------- 1 | {% set version = "2021.10" %} 2 | {% set build = 0 %} 3 | 4 | package: 5 | name: otps 6 | version: {{ version }} 7 | 8 | build: 9 | number: 0 10 | skip: True # [win] 11 | 12 | requirements: 13 | build: 14 | - make 15 | - {{ compiler('fortran') }} 16 | host: 17 | - gdown 18 | - tar 19 | 20 | test: 21 | commands: 22 | - test -f ${PREFIX}/bin/extract_HC 23 | - test -f ${PREFIX}/bin/extract_local_model 24 | - test -f ${PREFIX}/bin/predict_tide 25 | 26 | about: 27 | home: https://www.tpxo.net/otps 28 | license: custom 29 | license_file: OTPS/COPYRIGHT 30 | summary: OSU TIDAL PREDICTION Software (OTPS) 31 | 32 | extra: 33 | recipe-maintainers: 34 | - xylar 35 | - sbrus89 36 | -------------------------------------------------------------------------------- /compass/ocean/tests/dam_break/streams.init: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/init/namelist.init: -------------------------------------------------------------------------------- 1 | config_init_configuration = 'hurricane' 2 | config_vert_levels = -1 3 | config_ocean_run_mode = 'init' 4 | config_write_cull_cell_mask = .false. 5 | config_expand_sphere = .false. 6 | config_realistic_coriolis_parameter = .true. 7 | config_use_variable_drag = .true. 8 | config_use_wetting_drying = .false. 9 | config_drying_min_cell_height = 0.01 10 | config_hurricane_vert_levels = 1 11 | config_hurricane_min_depth = 10.0 12 | config_hurricane_max_depth = 8000.0 13 | config_hurricane_land_z_limit = -2.0 14 | config_hurricane_marsh_z_limit = 2.0 15 | config_hurricane_land_drag = 0.1 16 | config_hurricane_marsh_drag = 0.05 17 | config_hurricane_channel_drag = 0.02 18 | config_hurricane_sea_level_rise_adjustment = 0.0 19 | -------------------------------------------------------------------------------- /compass/ocean/tests/ziso/namelist.forward: -------------------------------------------------------------------------------- 1 | config_use_mom_del4 = .true. 2 | config_mom_del4_div_factor = 10.0 3 | config_use_cvmix_convection = .true. 4 | config_cvmix_background_diffusion = 5.0e-6 5 | config_cvmix_convective_basedOnBVF = .true. 6 | config_use_cvmix_shear = .true. 7 | config_cvmix_shear_mixing_scheme = 'KPP' 8 | config_use_cvmix_kpp = .true. 9 | config_use_bulk_wind_stress = .true. 10 | config_eos_linear_alpha = 0.255 11 | config_eos_linear_Tref = 19.0 12 | config_eos_linear_Sref = 34.0 13 | config_eos_linear_densityref = 1025.0 14 | config_implicit_constant_bottom_drag_coeff = 3.0e-3 15 | config_use_activeTracers_surface_bulk_forcing = .false. 16 | config_use_activeTracers_surface_restoring = .true. 17 | config_use_activeTracers_interior_restoring = .true. 18 | -------------------------------------------------------------------------------- /compass/ocean/streams/streams.frazil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/internal_wave/ten_day_test/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/rotation_2d/rotation_2d.cfg: -------------------------------------------------------------------------------- 1 | # options for rotation2D convergence test case 2 | [rotation_2d] 3 | 4 | # a list of resolutions (km) to test 5 | resolutions = 60, 90, 120, 150, 180, 240 6 | 7 | # time step in minutes (1-1 with resolutions) 8 | timestep_minutes = 8, 12, 16, 20, 24, 32 9 | 10 | # the number of cells per core to aim for 11 | goal_cells_per_core = 300 12 | 13 | # the approximate maximum number of cells per core (the test will fail if too 14 | # few cores are available) 15 | max_cells_per_core = 3000 16 | 17 | # time integrator (RK4 or split_explicit_ab2) 18 | time_integrator = RK4 19 | 20 | # convergence threshold below which the test fails 21 | tracer1_conv_thresh = 1.4 22 | tracer2_conv_thresh = 1.8 23 | tracer3_conv_thresh = 0.4 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/spherical_harmonic_transform/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | 3 | from compass.ocean.tests.spherical_harmonic_transform.qu_convergence \ 4 | import QuConvergence 5 | 6 | 7 | class SphericalHarmonicTransform(TestGroup): 8 | """ 9 | A test group for testing spherical harmonic transforms 10 | used for self attraction and loading calculations in MPAS-Ocean 11 | """ 12 | def __init__(self, mpas_core): 13 | """ 14 | mpas_core : compass.ocean.Ocean 15 | the MPAS core that this test group belongs to 16 | """ 17 | super().__init__(mpas_core=mpas_core, 18 | name='spherical_harmonic_transform') 19 | 20 | self.add_test_case(QuConvergence(test_group=self)) 21 | -------------------------------------------------------------------------------- /docs/versions.rst: -------------------------------------------------------------------------------- 1 | Code and Documentation Versions 2 | =============================== 3 | 4 | ================ =============== 5 | Documentation On GitHub 6 | ================ =============== 7 | `latest docs`_ `main`_ 8 | `legacy docs`_ `legacy`_ 9 | `1.0.0 docs`_ `1.0.0`_ 10 | `1.1.0 docs`_ `1.1.0`_ 11 | ================ =============== 12 | 13 | .. _`latest docs`: ../latest/index.html 14 | .. _`legacy docs`: ../legacy/index.html 15 | .. _`1.0.0 docs`: ../1.0.0/index.html 16 | .. _`1.1.0 docs`: ../1.1.0/index.html 17 | .. _`main`: https://github.com/MPAS-Dev/compass/tree/main 18 | .. _`legacy`: https://github.com/MPAS-Dev/compass/tree/legacy 19 | .. _`1.0.0`: https://github.com/MPAS-Dev/compass/tree/1.0.0 20 | .. _`1.1.0`: https://github.com/MPAS-Dev/compass/tree/1.1.0 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/divergent_2d/divergent_2d.cfg: -------------------------------------------------------------------------------- 1 | # options for nondivergent2D convergence test case 2 | [divergent_2d] 3 | 4 | # a list of resolutions (km) to test 5 | resolutions = 60, 90, 120, 150, 180, 240 6 | 7 | # time step in minutes (1-1 with resolutions) 8 | timestep_minutes = 8, 12, 16, 20, 24, 32 9 | 10 | # the number of cells per core to aim for 11 | goal_cells_per_core = 300 12 | 13 | # the approximate maximum number of cells per core (the test will fail if too 14 | # few cores are available) 15 | max_cells_per_core = 3000 16 | 17 | # time integrator (RK4 or split_explicit_ab2) 18 | time_integrator = RK4 19 | 20 | # convergence threshold below which the test fails 21 | tracer1_conv_thresh = 1.8 22 | tracer2_conv_thresh = 1.9 23 | tracer3_conv_thresh = 0.4 24 | -------------------------------------------------------------------------------- /compass/ocean/tests/ziso/namelist.analysis: -------------------------------------------------------------------------------- 1 | config_AM_globalStats_enable = .true. 2 | config_AM_globalStats_compute_on_startup = .true. 3 | config_AM_globalStats_write_on_startup = .true. 4 | config_AM_zonalMean_enable = .true. 5 | config_AM_zonalMean_num_bins = 100 6 | config_AM_okuboWeiss_enable = .true. 7 | config_AM_okuboWeiss_eddy_min_cells = 100 8 | config_AM_highFrequencyOutput_enable = .true. 9 | config_AM_eliassenPalm_enable = .true. 10 | config_AM_eliassenPalm_compute_interval = '03_00:00:00' 11 | config_AM_eliassenPalm_nBuoyancyLayers = 100 12 | config_AM_eliassenPalm_rhomin_buoycoor = 1028.0 13 | config_AM_eliassenPalm_rhomax_buoycoor = 1030.7 14 | config_AM_mixedLayerDepths_enable = .true. 15 | config_AM_timeFilters_enable = .true. 16 | config_AM_timeFilters_initialize_filters = .false. 17 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/nondivergent_2d/nondivergent_2d.cfg: -------------------------------------------------------------------------------- 1 | # options for nondivergent2D convergence test case 2 | [nondivergent_2d] 3 | 4 | # a list of resolutions (km) to test 5 | resolutions = 60, 90, 120, 150, 180, 240 6 | 7 | # time step in minutes (1-1 with resolutions) 8 | timestep_minutes = 8, 12, 16, 20, 24, 32 9 | 10 | # the number of cells per core to aim for 11 | goal_cells_per_core = 300 12 | 13 | # the approximate maximum number of cells per core (the test will fail if too 14 | # few cores are available) 15 | max_cells_per_core = 3000 16 | 17 | # time integrator (RK4 or split_explicit_ab2) 18 | time_integrator = RK4 19 | 20 | # convergence threshold below which the test fails 21 | tracer1_conv_thresh = 1.7 22 | tracer2_conv_thresh = 1.7 23 | tracer3_conv_thresh = 0.4 24 | -------------------------------------------------------------------------------- /compass/landice/tests/eismint2/eismint2.cfg: -------------------------------------------------------------------------------- 1 | # config options for EISMINT2 test cases 2 | [eismint2] 3 | 4 | # sizes (in cells) for the 25000m uniform mesh 5 | nx = 64 6 | ny = 74 7 | 8 | # resolution (in m) for the 25000m uniform mesh 9 | dc = 25000.0 10 | 11 | # number of levels in the mesh 12 | levels = 10 13 | 14 | # radius (km) used to cull the mesh 15 | radius = 750.0 16 | 17 | 18 | # config options related to visualization for EISMINT2 test cases 19 | [eismint2_viz] 20 | 21 | # the name of the experiment or experiments to visualize ('a','b','c','d','f', 22 | # or 'g'). For multiple experiments, give a comma-separated list 23 | experiment = a 24 | 25 | # whether to save image files 26 | save_images = True 27 | 28 | # whether to hide figures (typically when save_images = True) 29 | hide_figs = True 30 | -------------------------------------------------------------------------------- /conda/unsupported.txt: -------------------------------------------------------------------------------- 1 | # a list of unsupported machine, compiler and mpi combinations 2 | 3 | # no spack available 4 | anvil, gnu, impi 5 | chicoma-cpu, nvidia, mpich 6 | chicoma-cpu, aocc, mpich 7 | chicoma-cpu, amdclang, mpich 8 | chrysalis, gnu, impi 9 | chrysalis, oneapi-ifx, openmpi 10 | chrysalis, oneapi-ifx, impi 11 | compy, intel, mvapich2 12 | compy, gnu, openmpi 13 | compy, pgi, impi 14 | compy, pgi, mvapich2 15 | pm-cpu, nvidia, mpich 16 | pm-cpu, aocc, mpich 17 | pm-cpu, amdclang, mpich 18 | pm-gpu, gnu, mpich 19 | pm-gpu, nvidia, mpich 20 | 21 | # compiles but tests unreliable (errors or hanging), 22 | # see https://github.com/MPAS-Dev/compass/issues/336 23 | anvil, intel, mvapich 24 | 25 | 26 | # can't build ESMF 27 | chrysalis, intel, impi 28 | 29 | # can't build MOAB 30 | anvil, gnu, mvapich 31 | -------------------------------------------------------------------------------- /compass/landice/tests/mismipplus/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.mismipplus.smoke_test import SmokeTest 2 | from compass.landice.tests.mismipplus.spin_up import SpinUp 3 | from compass.testgroup import TestGroup 4 | 5 | 6 | class MISMIPplus(TestGroup): 7 | """ 8 | A test group for MISMIP+ test cases. 9 | """ 10 | def __init__(self, mpas_core): 11 | """ 12 | mpas_core : compass.landice.Landice 13 | the MPAS core that this test group belongs to 14 | """ 15 | super().__init__(mpas_core=mpas_core, name='mismipplus') 16 | 17 | self.add_test_case(SpinUp(test_group=self)) 18 | 19 | for resolution in [2000]: 20 | self.add_test_case(SmokeTest(test_group=self, 21 | resolution=resolution)) 22 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/correlated_tracers_2d/correlated_tracers_2d.cfg: -------------------------------------------------------------------------------- 1 | # options for nondivergent2D convergence test case 2 | [correlated_tracers_2d] 3 | 4 | # a list of resolutions (km) to test 5 | resolutions = 60, 90, 120, 150, 180, 240 6 | 7 | # time step in minutes (1-1 with resolutions) 8 | timestep_minutes = 8, 12, 16, 20, 24, 32 9 | 10 | # the number of cells per core to aim for 11 | goal_cells_per_core = 300 12 | 13 | # the approximate maximum number of cells per core (the test will fail if too 14 | # few cores are available) 15 | max_cells_per_core = 3000 16 | 17 | # time integrator (RK4 or split_explicit_ab2) 18 | time_integrator = RK4 19 | 20 | # convergence threshold below which the test fails 21 | tracer1_conv_thresh = 1.7 22 | tracer2_conv_thresh = 1.7 23 | tracer3_conv_thresh = 1.3 24 | -------------------------------------------------------------------------------- /compass/ocean/streams/streams.ssh_adjust: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 15 | 16 | 17 | 18 | 19 | 20 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /compass/landice/tests/hydro_radial/namelist.landice: -------------------------------------------------------------------------------- 1 | config_dt = '0000-01-00_00:00:00' 2 | config_start_time = '0001-01-01_00:00:00' 3 | config_stop_time = '0001-02-01_00:00:00' 4 | config_block_decomp_file_prefix = 'graph.info.part.' 5 | config_velocity_solver = 'none' 6 | config_thickness_advection = 'none' 7 | config_ice_density = 910.0 8 | config_default_flowParamA = 3.1689e-24 9 | 10 | config_SGH = .true. 11 | config_SGH_adaptive_timestep_fraction = 0.5 12 | config_SGH_max_adaptive_timestep = 31536000 13 | config_SGH_alpha = 1.0 14 | config_SGH_beta = 2.0 15 | config_SGH_conduc_coeff = 0.00000101976 16 | config_SGH_till_drainage = 0.0 17 | config_SGH_till_max = 0.0 18 | config_SGH_bed_roughness_max = 1.0 19 | config_SGH_bed_roughness = 0.5 20 | config_SGH_englacial_porosity = 0.01 21 | config_SGH_creep_coefficient = 0.04 22 | -------------------------------------------------------------------------------- /compass/ocean/tests/soma/namelist.forward: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'forward' 2 | config_use_mom_del4 = .true. 3 | config_mom_del4_div_factor = 10.0 4 | config_use_cvmix_convection = .true. 5 | config_cvmix_background_diffusion = 5.0e-6 6 | config_cvmix_convective_basedOnBVF = .true. 7 | config_use_cvmix_shear = .true. 8 | config_cvmix_shear_mixing_scheme = 'KPP' 9 | config_use_cvmix_kpp = .true. 10 | config_use_bulk_wind_stress = .true. 11 | config_density0 = 1014.65 12 | config_eos_type = 'jm' 13 | config_implicit_constant_bottom_drag_coeff = 1.0e-3 14 | config_use_activeTracers_surface_bulk_forcing = .false. 15 | config_use_activeTracers_surface_restoring = .false. 16 | config_use_activeTracers_interior_restoring = .false. 17 | config_pio_num_iotasks = 1 18 | config_pio_stride = 4 19 | config_write_output_on_startup = .false. 20 | -------------------------------------------------------------------------------- /compass/landice/tests/circular_shelf/circular_shelf.cfg: -------------------------------------------------------------------------------- 1 | # config options for circular_shelf test cases 2 | [circular_shelf] 3 | 4 | # sizes (in cells) for the uniform mesh 5 | nx = 40 6 | ny = 46 7 | 8 | # resolution (in m) for the uniform mesh 9 | dc = 1250.0 10 | 11 | # number of levels in the mesh 12 | levels = 5 13 | 14 | # whether to use large basal friction or Dirichlet conditions at bed 15 | use_mu = False 16 | 17 | # option to make the grounded area 7 cells instead of 1 18 | use_7cells = True 19 | 20 | # config options related to visualization for circular_shelf test cases 21 | [circular_shelf_viz] 22 | 23 | # which time index to visualize 24 | time_slice = 0 25 | 26 | # whether to save image files 27 | save_images = True 28 | 29 | # whether to hide figures (typically when save_images = True) 30 | hide_figs = True 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_convergence/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.testgroup import TestGroup 2 | 3 | from compass.ocean.tests.global_convergence.cosine_bell import CosineBell 4 | 5 | 6 | class GlobalConvergence(TestGroup): 7 | """ 8 | A test group for setting up global initial conditions and performing 9 | regression testing and dynamic adjustment for MPAS-Ocean 10 | """ 11 | def __init__(self, mpas_core): 12 | """ 13 | mpas_core : compass.ocean.Ocean 14 | the MPAS core that this test group belongs to 15 | """ 16 | super().__init__(mpas_core=mpas_core, name='global_convergence') 17 | 18 | for icosahedral in [False, True]: 19 | self.add_test_case(CosineBell(test_group=self, 20 | icosahedral=icosahedral)) 21 | -------------------------------------------------------------------------------- /compass/landice/tests/enthalpy_benchmark/A/A.cfg: -------------------------------------------------------------------------------- 1 | # config options for enthalpy benchmark test cases 2 | [enthalpy_benchmark] 3 | 4 | # number of levels in the mesh 5 | levels = 50 6 | 7 | # the initial thickness of the ice sheet (in m) 8 | thickness = 1000.0 9 | 10 | # the basal heat flux (in W m^{-2}) 11 | basal_heat_flux = 0.042 12 | 13 | # the initial surface air temperature (in K) 14 | surface_air_temperature = 243.15 15 | 16 | # the initial ice temperature (in K) 17 | temperature = 243.15 18 | 19 | # the surface air temperature (in K) for the first 100,000 years 20 | phase1_surface_air_temperature = 243.15 21 | 22 | # the surface air temperature (in K) for the next 50,000 years 23 | phase2_surface_air_temperature = 268.15 24 | 25 | # the surface air temperature (in K) for the final 150,000 years 26 | phase3_surface_air_temperature = 243.15 27 | -------------------------------------------------------------------------------- /compass/ocean/tests/lock_exchange/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /compass/job/job_script.template: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --job-name={{ job_name }} 3 | {% if account != '' -%} 4 | #SBATCH --account={{ account}} 5 | {%- endif %} 6 | #SBATCH --nodes={{ nodes }} 7 | #SBATCH --output={{ job_name }}.o%j 8 | #SBATCH --exclusive 9 | #SBATCH --time={{ wall_time }} 10 | {% if qos != '' -%} 11 | #SBATCH --qos={{ qos }} 12 | {%- endif %} 13 | {% if reservation != '' -%} 14 | #SBATCH --reservation={{ reservation }} 15 | {%- endif %} 16 | {% if partition != '' -%} 17 | #SBATCH --partition={{ partition }} 18 | {%- endif %} 19 | {% if constraint != '' -%} 20 | #SBATCH --constraint={{ constraint }} 21 | {%- endif %} 22 | {% if gpus_per_node != '' -%} 23 | #SBATCH --gpus-per-node={{ gpus_per_node }} 24 | {%- endif %} 25 | 26 | source load_compass_env.sh 27 | {{ pre_run_commands }} 28 | compass run {{suite}} 29 | {{ post_run_commands }} 30 | -------------------------------------------------------------------------------- /docs/users_guide/landice/test_groups/index.rst: -------------------------------------------------------------------------------- 1 | .. _landice_configs: 2 | 3 | Test Groups 4 | =========== 5 | 6 | The ``landice`` test groups include tests are generally of three varieties: 7 | tests run routinely for code integration and regression testing, 8 | "tests" used to set up meshes and initial conditions, 9 | and other specialty tests for more carefully assessing model 10 | physics but that are not run routinely. 11 | 12 | .. toctree:: 13 | :titlesonly: 14 | 15 | antarctica 16 | calving_dt_convergence 17 | circular_shelf 18 | crane 19 | dome 20 | eismint2 21 | ensemble_generator 22 | enthalpy_benchmark 23 | greenland 24 | humboldt 25 | hydro_radial 26 | ismip6_forcing 27 | ismip6_run 28 | isunnguata_sermia 29 | kangerlussuaq 30 | koge_bugt_s 31 | mesh_modifications 32 | mismipplus 33 | thwaites 34 | -------------------------------------------------------------------------------- /compass/landice/tests/mismipplus/spin_up/streams.spin_up: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /compass/landice/tests/mismipplus/namelist.landice: -------------------------------------------------------------------------------- 1 | config_start_time = '0001-01-01_00:00:00' 2 | config_stop_time = '0006-01-01_00:00:00' 3 | config_adaptive_timestep = .true. 4 | config_adaptive_timestep_include_calving = .false. 5 | config_block_decomp_file_prefix = 'graph.info.part.' 6 | config_velocity_solver = 'FO' 7 | config_thickness_advection = 'fo' 8 | config_tracer_advection = 'none' 9 | config_thermal_solver = 'none' 10 | config_temperature_init = 'file' 11 | config_dynamic_thickness = 10.0 12 | config_adaptive_timestep_CFL_fraction = 0.8 13 | 14 | config_calving = 'none' 15 | 16 | config_year_digits = 5 17 | config_write_output_on_startup = .true. 18 | config_AM_globalStats_enable = .true. 19 | config_AM_globalStats_compute_interval = '0000-00-00_01:00:00' 20 | config_AM_globalStats_compute_on_startup = .true. 21 | config_AM_globalStats_write_on_startup = .true. 22 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/namelist.forward: -------------------------------------------------------------------------------- 1 | config_ocean_run_mode = 'forward' 2 | config_block_decomp_file_prefix = 'graph.info.part.' 3 | config_time_integrator = 'split_explicit_ab2' 4 | config_use_mom_del2 = .true. 5 | config_use_mom_del4 = .true. 6 | config_use_cvmix_convection = .true. 7 | config_use_cvmix_shear = .true. 8 | config_use_cvmix_kpp = .true. 9 | config_cvmix_shear_mixing_scheme = 'KPP' 10 | config_pressure_gradient_type = 'Jacobian_from_TS' 11 | config_eos_type = 'jm' 12 | config_implicit_constant_bottom_drag_coeff = 1.0e-3 13 | config_use_bulk_wind_stress = .true. 14 | config_use_bulk_thickness_flux = .true. 15 | config_use_Redi = .true. 16 | config_Redi_min_layers_diag_terms = 0 17 | config_use_GM = .true. 18 | config_AM_mixedLayerDepths_enable = .true. 19 | config_AM_mixedLayerDepths_compute_interval = 'dt' 20 | config_submesoscale_enable = .true. 21 | -------------------------------------------------------------------------------- /compass/ocean/tests/planar_convergence/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /compass/ocean/tests/hurricane/configure.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.global_ocean.metadata import ( 2 | get_author_and_email_from_git, 3 | ) 4 | 5 | 6 | def configure_hurricane(test_case, mesh): 7 | """ 8 | Modify the configuration options for this test case 9 | 10 | Parameters 11 | ---------- 12 | test_case : compass.TestCase 13 | The test case to configure 14 | 15 | mesh : compass.ocean.tests.global_ocean.mesh.Mesh 16 | The test case that produces the mesh for this run 17 | """ 18 | config = test_case.config 19 | 20 | config.add_from_package('compass.mesh', 'mesh.cfg') 21 | config.add_from_package('compass.ocean.tests.hurricane', 'hurricane.cfg') 22 | config.add_from_package(mesh.package, mesh.mesh_config_filename, 23 | exception=True) 24 | 25 | get_author_and_email_from_git(config) 26 | -------------------------------------------------------------------------------- /docs/developers_guide/machines/chrysalis.rst: -------------------------------------------------------------------------------- 1 | .. _dev_machine_chrysalis: 2 | 3 | Chrysalis 4 | ========= 5 | 6 | intel 7 | ----- 8 | 9 | This is the default ``compass`` compiler on Chrysalis. If the environment has 10 | been set up properly (see :ref:`dev_conda_env`), you should be able to source: 11 | 12 | .. code-block:: bash 13 | 14 | source load_dev_compass_1.0.0_chrysalis_intel_openmpi.sh 15 | 16 | Then, you can build the MPAS model with 17 | 18 | .. code-block:: bash 19 | 20 | make [DEBUG=true] [OPENMP=true] ifort 21 | 22 | gnu 23 | --- 24 | 25 | If you've set things up for this compiler, you should be able to: 26 | 27 | .. code-block:: bash 28 | 29 | source load_dev_compass_1.0.0_chrysalis_gnu_openmpi.sh 30 | 31 | Then, you can build the MPAS model with 32 | 33 | .. code-block:: bash 34 | 35 | make [DEBUG=true] [OPENMP=true] [ALBANY=true] gfortran 36 | -------------------------------------------------------------------------------- /compass/ocean/tests/utility/combine_topo/combine_topo.cfg: -------------------------------------------------------------------------------- 1 | # config options related combining Antarctic and global topograph datasets 2 | [combine_topo] 3 | 4 | # the names of the input topography files in the bathymetry database 5 | antarctic_filename = BedMachineAntarctica-v3.nc 6 | global_filename = GEBCO_2023.nc 7 | 8 | # target resolution (degrees or NExxx) 9 | resolution_latlon = 0.0125 10 | resolution_cubedsphere = 3000 11 | method = bilinear 12 | 13 | # threshold for masks below which interpolated variables are not renormalized 14 | renorm_thresh = 1e-3 15 | 16 | # the target and minimum number of MPI tasks to use in remapping 17 | ntasks = 1280 18 | min_tasks = 512 19 | 20 | # latitudes between which the topography datasets get blended 21 | latmin = -62. 22 | latmax = -60. 23 | 24 | # the number of tiles in lat and lon for GEBCO remapping 25 | lat_tiles = 3 26 | lon_tiles = 6 27 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /compass/ocean/tests/soma/namelist.analysis: -------------------------------------------------------------------------------- 1 | config_AM_globalStats_enable = .true. 2 | config_AM_globalStats_compute_on_startup = .true. 3 | config_AM_globalStats_write_on_startup = .true. 4 | config_AM_zonalMean_enable = .true. 5 | config_AM_zonalMean_num_bins = 100 6 | config_AM_okuboWeiss_enable = .true. 7 | config_AM_okuboWeiss_eddy_min_cells = 100 8 | config_AM_highFrequencyOutput_enable = .true. 9 | config_AM_eliassenPalm_enable = .true. 10 | config_AM_eliassenPalm_compute_interval = '03_00:00:00' 11 | config_AM_eliassenPalm_nBuoyancyLayers = 100 12 | config_AM_eliassenPalm_rhomin_buoycoor = 1028.0 13 | config_AM_eliassenPalm_rhomax_buoycoor = 1030.7 14 | config_AM_mixedLayerDepths_enable = .true. 15 | config_AM_timeFilters_enable = .false. 16 | config_AM_timeFilters_initialize_filters = .false. 17 | config_AM_lagrPartTrack_enable = .false. 18 | config_AM_lagrPartTrack_region_stream = 'none' 19 | -------------------------------------------------------------------------------- /docs/users_guide/ocean/test_groups/index.rst: -------------------------------------------------------------------------------- 1 | .. _ocean_configs: 2 | 3 | Test groups 4 | ============== 5 | 6 | For the time being, ocean test groups that have been ported from legacy 7 | COMPASS to the ``compass`` package are those with test cases in the 8 | :ref:`ocean_suite_nightly`. We expect to port many more test cases in the 9 | coming months. 10 | 11 | .. toctree:: 12 | :titlesonly: 13 | 14 | baroclinic_channel 15 | baroclinic_gyre 16 | buttermilk_bay 17 | dam_break 18 | drying_slope 19 | global_convergence 20 | global_ocean 21 | gotm 22 | hurricane 23 | ice_shelf_2d 24 | internal_wave 25 | isomip_plus 26 | lock_exchange 27 | merry_go_round 28 | nonhydro 29 | overflow 30 | parabolic_bowl 31 | planar_convergence 32 | soma 33 | sphere_transport 34 | spherical_harmonic_transform 35 | tides 36 | utility 37 | ziso 38 | -------------------------------------------------------------------------------- /compass/ocean/tests/baroclinic_gyre/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.baroclinic_gyre.gyre_test_case import GyreTestCase 2 | from compass.testgroup import TestGroup 3 | 4 | 5 | class BaroclinicGyre(TestGroup): 6 | """ 7 | A test group for baroclinic gyre test cases 8 | """ 9 | def __init__(self, mpas_core): 10 | """ 11 | mpas_core : compass.MpasCore 12 | the MPAS core that this test group belongs to 13 | """ 14 | super().__init__(mpas_core=mpas_core, name='baroclinic_gyre') 15 | 16 | for resolution in [20000., 80000.]: 17 | self.add_test_case( 18 | GyreTestCase(test_group=self, resolution=resolution, 19 | long=False)) 20 | self.add_test_case( 21 | GyreTestCase(test_group=self, resolution=resolution, 22 | long=True)) 23 | -------------------------------------------------------------------------------- /compass/landice/tests/isunnguata_sermia/mesh_gen/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.isunnguata_sermia.mesh import Mesh 2 | from compass.testcase import TestCase 3 | 4 | 5 | class MeshGen(TestCase): 6 | """ 7 | The MeshGen test case for the isunnguata_sermia test group simply 8 | creates the mesh and initial condition. 9 | 10 | """ 11 | 12 | def __init__(self, test_group): 13 | """ 14 | Create the test case 15 | 16 | Parameters 17 | ---------- 18 | test_group : compass.landice.tests.isunnguata_sermia.IsunnguataSermia 19 | The test group that this test case belongs to 20 | 21 | """ 22 | name = 'mesh_gen' 23 | subdir = name 24 | super().__init__(test_group=test_group, name=name, 25 | subdir=subdir) 26 | 27 | self.add_step( 28 | Mesh(test_case=self)) 29 | -------------------------------------------------------------------------------- /compass/landice/tests/humboldt/namelist.landice.hydro: -------------------------------------------------------------------------------- 1 | config_velocity_solver = 'none' 2 | 3 | config_thickness_advection = 'none' 4 | config_tracer_advection = 'none' 5 | 6 | config_thermal_solver = 'none' 7 | config_thermal_calculate_bmb = .false. 8 | config_basal_heat_flux_source = 'file' 9 | 10 | config_ice_density = 910.0 11 | config_ocean_density = 1028.0 12 | config_sea_level = 0.0 13 | config_dynamic_thickness = 10.0 14 | 15 | config_SGH = .true. 16 | config_SGH_chnl_active = .true. 17 | config_SGH_basal_melt = 'basal_heat' 18 | config_SGH_conduc_coeff = 0.005 19 | 20 | config_dt = '0000-00-01_00:00:00' 21 | config_time_integration = 'forward_euler' 22 | config_adaptive_timestep = .false. 23 | 24 | config_start_time = 2007-07-01_00:00:00 25 | 26 | config_run_duration = '0000-02-00_00:00:00' 27 | config_block_decomp_file_prefix = 'graph.info.part.' 28 | 29 | config_AM_globalStats_enable = .false. 30 | -------------------------------------------------------------------------------- /conda/spack/eligos_gnu_openmpi.yaml: -------------------------------------------------------------------------------- 1 | spack: 2 | specs: 3 | - gcc 4 | - openmpi 5 | {{ specs }} 6 | concretizer: 7 | unify: true 8 | packages: 9 | all: 10 | compiler: [gcc@9.4.0] 11 | providers: 12 | mpi: [openmpi] 13 | curl: 14 | externals: 15 | - spec: curl@7.68.0 16 | prefix: /usr 17 | buildable: false 18 | gcc: 19 | externals: 20 | - spec: gcc@9.4.0 21 | prefix: /usr 22 | buildable: false 23 | config: 24 | install_missing_compilers: false 25 | compilers: 26 | - compiler: 27 | spec: gcc@9.4.0 28 | paths: 29 | cc: /usr/bin/gcc 30 | cxx: /usr/bin/g++ 31 | f77: /usr/bin/gfortran 32 | fc: /usr/bin/gfortran 33 | flags: {} 34 | operating_system: ubuntu20.04 35 | target: x86_64 36 | modules: [] 37 | environment: {} 38 | extra_rpaths: [] 39 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/files_for_e3sm/README: -------------------------------------------------------------------------------- 1 | ***********************WARNING***************************** 2 | The files_for_e3sm step is a work in progress, and produces 3 | only a subset of the files needed for E3SM support of a new 4 | ocean and sea-ice mesh. 5 | *********************************************************** 6 | 7 | After running "compass run", the directory assembled_files is populated with 8 | links. The directory structure is identical to the E3SM inputdata and 9 | diagnostics directories found here: 10 | https://web.lcrc.anl.gov/public/e3sm/ 11 | 12 | E3SM members should NOT attempt to upload these files. The files produced here 13 | are only a subset of those needed to support a new mesh in E3SM and should not 14 | be uploaded on their own. E3SM experts who know how to produce the other 15 | coupling files may upload these files along with other required datasets to the 16 | LCRC server. 17 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/solitary_wave/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/nonhydro/stratified_seiche/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /conda/spack/morpheus_gnu_openmpi.yaml: -------------------------------------------------------------------------------- 1 | spack: 2 | specs: 3 | - gcc 4 | - openmpi 5 | {{ specs }} 6 | concretizer: 7 | unify: true 8 | packages: 9 | all: 10 | compiler: [gcc@11.3.0] 11 | providers: 12 | mpi: [openmpi] 13 | curl: 14 | externals: 15 | - spec: curl@7.81.0 16 | prefix: /usr 17 | buildable: false 18 | gcc: 19 | externals: 20 | - spec: gcc@11.3.0 21 | prefix: /usr 22 | buildable: false 23 | config: 24 | install_missing_compilers: false 25 | compilers: 26 | - compiler: 27 | spec: gcc@11.3.0 28 | paths: 29 | cc: /usr/bin/gcc 30 | cxx: /usr/bin/g++ 31 | f77: /usr/bin/gfortran 32 | fc: /usr/bin/gfortran 33 | flags: {} 34 | operating_system: ubuntu22.04 35 | target: x86_64 36 | modules: [] 37 | environment: {} 38 | extra_rpaths: [] 39 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/hydro_vs_nonhydro/hydro_vs_nonhydro.cfg: -------------------------------------------------------------------------------- 1 | # Config options for the horizontal grid 2 | [horizontal_grid] 3 | 4 | # Number of cells in the x-direction 5 | nx = 320 6 | 7 | # Number of cells in the y-direction 8 | ny = 4 9 | 10 | # Distance from two cell centers 11 | dc = 20.0 12 | 13 | # Options related to the vertical grid 14 | [vertical_grid] 15 | 16 | # Depth of the bottom of the ocean (m) 17 | bottom_depth = 200.0 18 | 19 | # Number of vertical levels 20 | vert_levels = 60 21 | 22 | # The type of vertical grid 23 | grid_type = uniform 24 | 25 | # The type of vertical coordinate (e.g. z-level, z-star) 26 | coord_type = z-star 27 | 28 | # Whether to use "partial" or "full", or "None" to not alter the topography 29 | partial_cell_type = None 30 | 31 | # Config options for the solitary wave testcase 32 | [visualize] 33 | 34 | # Time index at which to plot the variables 35 | plot_time = 6 36 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/divergent_2d/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/rotation_2d/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/landice/tests/ensemble_generator/__init__.py: -------------------------------------------------------------------------------- 1 | from compass.landice.tests.ensemble_generator.branch_ensemble import ( 2 | BranchEnsemble, 3 | ) 4 | from compass.landice.tests.ensemble_generator.spinup_ensemble import ( 5 | SpinupEnsemble, 6 | ) 7 | from compass.testgroup import TestGroup 8 | 9 | 10 | class EnsembleGenerator(TestGroup): 11 | """ 12 | A test group for generating ensembles of MALI simulations 13 | for uncertainty quantification or parameter sensitivity tests. 14 | """ 15 | def __init__(self, mpas_core): 16 | """ 17 | mpas_core : compass.landice.Landice 18 | the MPAS core that this test group belongs to 19 | """ 20 | super().__init__(mpas_core=mpas_core, 21 | name='ensemble_generator') 22 | 23 | self.add_test_case(SpinupEnsemble(test_group=self)) 24 | self.add_test_case(BranchEnsemble(test_group=self)) 25 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_convergence/cosine_bell/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/global_ocean/init/streams.ssh_adjust: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 15 | 16 | 17 | 18 | 19 | 20 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/nondivergent_2d/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/tides/configure.py: -------------------------------------------------------------------------------- 1 | from compass.ocean.tests.global_ocean.metadata import \ 2 | get_author_and_email_from_git 3 | 4 | 5 | def configure_tides(test_case, mesh): 6 | """ 7 | Modify the configuration options for this test case 8 | 9 | Parameters 10 | ---------- 11 | test_case : compass.TestCase 12 | The test case to configure 13 | 14 | mesh : compass.ocean.tests.global_ocean.mesh.Mesh 15 | The test case that produces the mesh for this run 16 | 17 | init : compass.ocean.tests.global_ocean.init.Init, optional 18 | The test case that produces the initial condition for this run 19 | """ 20 | config = test_case.config 21 | 22 | config.add_from_package('compass.mesh', 'mesh.cfg') 23 | config.add_from_package(mesh.package, mesh.mesh_config_filename, 24 | exception=True) 25 | 26 | get_author_and_email_from_git(config) 27 | -------------------------------------------------------------------------------- /compass/ocean/tests/sphere_transport/correlated_tracers_2d/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /compass/ocean/tests/overflow/nonhydro/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | # https://pep8.readthedocs.io/en/latest/intro.html#error-codes 3 | ignore = 4 | # line break after operator 5 | W504 6 | # Max width of Github code review is 79 characters 7 | max-line-length = 79 8 | max-complexity = 18 9 | per-file-ignores = 10 | */__init__.py: F401 11 | exclude = 12 | .git, 13 | docs, 14 | .idea, 15 | .mypy_cache, 16 | .pytest_cache, 17 | 18 | [isort] 19 | multi_line_output=3 20 | include_trailing_comma=True 21 | force_grid_wrap=0 22 | use_parentheses=True 23 | line_length=79 24 | skip= 25 | e3sm_diags/e3sm_diags_driver.py 26 | 27 | [pycodestyle] 28 | max-line-length = 79 29 | exclude = 30 | .git 31 | docs 32 | .idea 33 | .mypy_cache 34 | .pytest_cache 35 | 36 | [mypy] 37 | python_version = 3.13 38 | check_untyped_defs = True 39 | ignore_missing_imports = True 40 | warn_unused_ignores = True 41 | warn_redundant_casts = True 42 | warn_unused_configs = True 43 | -------------------------------------------------------------------------------- /compass/ocean/tests/lock_exchange/nonhydro/streams.forward: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | --------------------------------------------------------------------------------