Skip to content

Commit

Permalink
ECCO Restoring for OMIP simulations (#89)
Browse files Browse the repository at this point in the history
* some changes

* first commit

* some restructuring

* some fixes

* check what happens with atmospheric velocity instead of du, dv

* add similarity theory to the model

* more changes

* some changes

* small typo

* almost working

* new changes

* some changes

* change bulk coefficients function

* better comment

* All this works!

* should work?

* bunch of changes

* changes

* test stuff

* bugfix

* import instead of use

* using Adapt

* let's try it out!

* bugfix

* some bugfixes

* some other changes

* correction

* remove maxiter

* ok now this should work?

* try this out

* can start the first simulation

* typo

* add a timescale

* clearing some bugs

* some change

* bugfixes here and there

* add links

* correct line reference

* correct reference

* correct comment

* update forcing fts

* Some documentation of the radiation

* pretty massive bug in the iterative solver. Now onto checking the radiative fluxes

* changes

* remove warped grid

* new toml files

* add tripolar methods

* removing some useless code

* remove the WarpedGrid from the omip

* typo of function name

* correct omip

* some changes

* do not require username and password if file is there

* remove symbols from ECCO restoring

* add to gitignore

* couple of bugfixes

* couple of bugfixes

* maybe saving the location it works?

* not sure it will work but it might

* bugfix

* do not restrict oceananigans

* bugfix

* changes

* Update pipeline.yml

* unify gpu and cpu ecco restorings

* some bugfix

* some small changes

* a couple of improvements

* better restoring

* small test

* add a couple comments

* fix the example

* correct prototype

* try it like this?

* try like this

* new simulation

* try with custom stateindex

* near global example

* prototype on latlong

* probably better?

* maybe like this is works

* show the backend

* should it work with the examples like this?

* remove docs manifest

* use correct time in mask

* bugfixes in docs

* single column simulation works

* running

* bugfixes

* some restructuring

* try running this?

* update it

* export stuff

* bugfix

* add single column to docs

* changed filename

* this should work, now start with documenting

* updating Oceananigans

* small bugfix

* new compact

* bugfix

* might be right now

* start without near global omip

* fix ecco test

* another bugfix

* Update src/OceanSeaIceModels/CrossRealmFluxes/roughness_lengths.jl

Co-authored-by: Gregory L. Wagner <[email protected]>

* Update src/OceanSeaIceModels/CrossRealmFluxes/tabulated_albedo.jl

Co-authored-by: Gregory L. Wagner <[email protected]>

* Update src/OceanSeaIceModels/CrossRealmFluxes/tabulated_albedo.jl

Co-authored-by: Gregory L. Wagner <[email protected]>

* correct typo

* Update src/OceanSeaIceModels/ocean_only_model.jl

Co-authored-by: Gregory L. Wagner <[email protected]>

* TemperatureDependentAirViscosity and ReynoldsScalingFunction

* update ScalarRoughnessLength

* correct FT in albedo

* bugfix

* bugfix

* FT for tabulated albedo

* using zstar

* small bugfix

* bugfix

* another try

* better default for ECCOMetadata

* some initial comments

* exposing al parameters

* better stability functions

* bugfixes

* bugfixxed

* some refactoring + adding flux examples

* some grammar improvements

* bugfix in docs

* remove useless file

* bugfix

* functions for time quantities

* bottom drag coefficient

* back to reference height

* some improvements

* bugfix

* revert to chloride

* changed pipeline

* use github documenter for the moment

* bugfix

* change measurement to reference

* conversion depending on k

* change to the

* change name

* bugfix

* namechange

* add surface flux tests

* change name to "gusty" velocity difference

* typo

* bugfix

* correctly include runoff in forcing

* bugfix

* speed up generate fluxes

* error in project

* ok found the issue!

* correct the functions

* change to z_data

* improve example

* closure

* extrinsic-intrinsic

* remove interpolate

* z_data instead of h_data

* add warning for longitude range

* small change

* change the CFL

* comments

* remove zstar prototype

* bugfix

* small bugfix

* bugfix

* allow precompilation

* small bugfix

* change default to ecco2daily

* correct JRA55

* remove one division

* some optimizations

* let's see if this speeds up the computation

* updating catke to new syntax

* also new manifest

* add on_architecture

* the conversion is done _inside_ fts

* another try

* small verification

* fix a typo

* typo

* last try

* another bugfix

* another bugfix

* fix back

* back to square one. Still very slow

* switching to an array

* some changes to the docstring

* bug with reciprocal of rho

* more fixes

* switch reference frames

* try fixing tests with secret tokens

* take ecco 4 monthly

* maybe here it will work?

* userame and password in docs

* ecco secrets in ci

* remove all ECCO2 from examples

* more verbose error

* test new buildkite env variables

* fix tests

* fix tests

* fix tests

* some fixes

* the simulation that is running

* name changes

* some changes to the simulation

* just run docs on the caltech cluster

* bugfix

* update manifest

* update docs project

* test removing video

* no limit on generated size

* make without examples for the moment

* CLIMAOCEAN_ECCO_USERNAME

* typos

* another typo in the docs

* back to ECCO_USERNAME and ECCO_PASSWORD

* Update src/OceanSeaIceModels/minimum_temperature_sea_ice.jl

Co-authored-by: Gregory L. Wagner <[email protected]>

---------

Co-authored-by: Gregory L. Wagner <[email protected]>
  • Loading branch information
simone-silvestri and glwagner authored Jul 25, 2024
1 parent 94c53eb commit 514135f
Show file tree
Hide file tree
Showing 47 changed files with 1,622 additions and 1,113 deletions.
21 changes: 7 additions & 14 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ agents:

env:
JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite"
JULIA_DEBUG: "Documenter"
OPENBLAS_NUM_THREADS: 1
OMPI_MCA_opal_warn_on_missing_libcuda: 0

Expand All @@ -20,6 +21,9 @@ steps:
agents:
slurm_mem: 32G
slurm_cpus_per_task: 8
slurm_gpus: 1
slurm_ntasks: 1
slurm_gpus_per_task: 1
env:
JULIA_NUM_PRECOMPILE_TASKS: 8

Expand All @@ -33,11 +37,11 @@ steps:
commands:
- "julia --project -e 'using Pkg; Pkg.test()'"

- label: "Run ECCO2 tests"
key: "tests_ecco2"
- label: "Run ECCO tests"
key: "tests_ecco"
env:
CUDA_VISIBLE_DEVICES: "-1"
TEST_GROUP: "ecco2"
TEST_GROUP: "ecco"
commands:
- "julia --project -e 'using Pkg; Pkg.test()'"

Expand All @@ -49,16 +53,5 @@ steps:
commands:
- "julia --project -e 'using Pkg; Pkg.test()'"

# - label: "documentation"
# env:
# JULIA_DEBUG: "Documenter"
# commands:
# - "julia --color=yes --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'"
# - "julia --color=yes --project=docs/ docs/make.jl"
# agents:
# slurm_mem: 120G
# slurm_ntasks: 1
# slurm_gpus_per_task: 1

- wait: ~
continue_on_failure: true
6 changes: 4 additions & 2 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
JULIA_DEBUG: Documenter
run: julia --color=yes --project=docs/ docs/make.jl
JULIA_DEBUG: Documenter
ECCO_USERNAME: ${{ secrets.ECCO_USERNAME }} # To download ECCO data from the podaac website
ECCO_PASSWORD: ${{ secrets.ECCO_PASSWORD }} # To download ECCO data from the podaac website
run: julia --color=yes --project=docs/ docs/make_without_examples.jl
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ jobs:
julia --color=yes --project -e 'using Pkg; Pkg.test()'
env:
TEST_GROUP: "downloading"
ECCO_USERNAME: ${{ secrets.ECCO_USERNAME }} # To download ECCO data from the podaac website
ECCO_PASSWORD: ${{ secrets.ECCO_PASSWORD }} # To download ECCO data from the podaac website
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
with:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ docs/src/literated/
*.qdrep
*.nsys-rep
*.ncu-rep
*.sq
*.sqlite
Loading

0 comments on commit 514135f

Please sign in to comment.