Skip to content

Commit a14dc6f

Browse files
Merge branch 'roms-4.1'
2 parents c56cd7b + 0a1c8a6 commit a14dc6f

29 files changed

+1311
-820
lines changed

.github/workflows/CI.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- uses: julia-actions/setup-julia@v2
2121
with:
2222
version: ${{ matrix.version }}
23-
- uses: actions/cache@v1
23+
- uses: actions/cache@v4
2424
env:
2525
cache-name: cache-artifacts
2626
with:
@@ -70,7 +70,7 @@ jobs:
7070
version: '1'
7171
- run: |
7272
sudo apt-get update
73-
sudo apt-get install python3-matplotlib
73+
sudo apt-get install libnetcdf-dev gfortran make perl netcdf-bin libnetcdff-dev libopenmpi-dev openmpi-bin git python3-pip wget python3-setuptools python3-matplotlib
7474
git config --global user.name name
7575
git config --global user.email email
7676
git config --global github.user username

docs/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[deps]
2+
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
23
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
34
GeoDatasets = "ddc7317b-88db-5cb5-a849-8449e5df04f9"
45
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"

docs/make.jl

Lines changed: 52 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,72 @@ using Documenter
55
using ROMS
66
import Literate
77

8-
Literate.markdown(
9-
joinpath(@__DIR__, "..", "examples", "plots.jl"),
10-
joinpath(@__DIR__, "src"),
11-
execute = true,
12-
documenter = true,
13-
# We add the credit to Literate.jl the footer
14-
credit = false,
15-
)
8+
# Literate.markdown(
9+
# joinpath(@__DIR__, "..", "examples", "04_plots.jl"),
10+
# joinpath(@__DIR__, "src"),
11+
# execute = true,
12+
# documenter = true,
13+
# # We add the credit to Literate.jl the footer
14+
# credit = false,
15+
# )
1616

17-
Literate.notebook(
18-
joinpath(@__DIR__, "..", "examples", "plots.jl"),
19-
joinpath(@__DIR__, "src"),
20-
execute = false,
21-
)
17+
18+
files = joinpath.(@__DIR__, "..", "examples", [
19+
"01_build_roms.jl",
20+
"02_prep_roms.jl",
21+
"03_run_roms.jl",
22+
"04_plots.jl",
23+
"05_plots_makie.jl",
24+
])
25+
26+
all_notebooks = joinpath(mktempdir(),"all.jl")
27+
write(all_notebooks, join(read.(files,String),"\n"))
28+
push!(files,all_notebooks)
29+
30+
for file in files
31+
Literate.notebook(
32+
file,
33+
joinpath(@__DIR__, "src"),
34+
execute = false,
35+
)
36+
37+
if !endswith(file,"all.jl")
38+
Literate.markdown(
39+
file,
40+
joinpath(@__DIR__, "src"),
41+
execute = true,
42+
#execute = false,
43+
documenter = true,
44+
# We add the credit to Literate.jl the footer
45+
credit = false,
46+
)
47+
end
48+
end
2249

2350

2451
makedocs(
2552
modules = [ROMS],
2653
sitename = "ROMS.jl",
2754
format = Documenter.HTML(
2855
prettyurls = CI,
29-
footer = "Powered by [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl), [Literate.jl](https://github.com/fredrikekre/Literate.jl) and the [Julia Programming Language](https://julialang.org/)"
56+
footer = "Powered by [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl), [Literate.jl](https://github.com/fredrikekre/Literate.jl) and the [Julia Programming Language](https://julialang.org/)",
57+
#size_threshold = 400_000,
3058

3159
),
3260
pages = [
3361
"Tutorial" => "index.md",
62+
"Building ROMS" => "01_build_roms.md",
63+
"Preparation" => "02_prep_roms.md",
64+
"Running ROMS"=> "03_run_roms.md",
65+
"Plots" => "04_plots.md",
66+
"Plots (Makie)" => "05_plots_makie.md",
67+
"Additional information" => "additional_info.md",
3468
"Reference" => "reference.md",
35-
"Plots" => "plots.md",
3669
],
3770
)
3871

3972
deploydocs(repo = "github.com/Alexander-Barth/ROMS.jl.git",
40-
target = "build")
73+
target = "build",
74+
devbranch = "roms-4.1",
75+
devurl = "JuliaEO25",
76+
)

docs/src/additional_info.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
2+
## Additional topics
3+
4+
### Nudging towards "climatology"
5+
6+
The nudging towards "climatology" is an optional step to avoid issue (like sharp gradients) near the open sea boundaries.
7+
A flow relexation zone can be implemented in ROMS by using the followings settings:
8+
9+
```
10+
LtracerCLM == T T ! enable processing of CLIM data
11+
LnudgeTCLM == T T ! nudge to CLIM data
12+
TNUDG == 2*10.0d0 ! days
13+
```
14+
15+
Make nudging on inflow is stronger than on outflow
16+
17+
```
18+
OBCFAC == 10.0d0 ! nondimensional
19+
```
20+
21+
Set also `NUDNAME` to the file name create by the julia script.
22+
23+
24+
### Atmospheric forcing fields
25+
26+
* For the Ligurian Sea, necessary parameters have already been prepared and are available in the file [ROMS-implementation.zip](https://dox.ulg.ac.be/index.php/s/nH8u2DrI1m9mMbC). It containts data download the from
27+
the ECMWF operational archive (`Atmosphere/ecmwf_operational_archive_2018-12-01T00:00:00_2020-01-01T00:00:00.nc`). This NetCDF file needs to be converted by the julia function `ROMS.prepare_ecmwf`.
28+
29+
* The remaining of this section explained how to download data from the ECMWF operational archive (e.g. for a different domain). These instructions are not needed now.
30+
* Adapt the file name, longitude/latitude and time range (start one day earlier, and finish one day later) in [`forcing_ecmwf.py`](https://github.com/Alexander-Barth/ROMS.jl/blob/master/examples/forcing_ecmwf.py) and execute the script as follows:
31+
32+
```bash
33+
python3 forcing_ecmwf.py
34+
```
35+
36+
List of variables (*: quantities accumulated over the integration period ("step"))
37+
38+
| NetCDF Variable name | Description |
39+
|----------------------|----------|
40+
| msl | Mean sea level pressure |
41+
| u10 | 10 metre U wind component |
42+
| v10 | 10 metre V wind component |
43+
| t2m | 2 metre temperature |
44+
| d2m | 2 metre dewpoint temperature |
45+
| tcc | Total cloud cover* |
46+
| sshf | Surface sensible heat flux* |
47+
| strd | Surface thermal radiation downwards* |
48+
| ssr | Surface net solar radiation* |
49+
| str | Surface net thermal radiation* |
50+
| ewss | Eastward turbulent surface stress* |
51+
| nsss | Northward turbulent surface stress* |
52+
| e | Evaporation* |
53+
| ro | Runoff* |
54+
| tp | Total precipitation* |
55+
| sst | Sea surface temperature |
56+
| par | Photosynthetically active radiation at the surface* |
57+
58+
### Validation
59+
60+
Check out satellite data (e.g. sea surface temperature, sea surface height) at:
61+
* [CMEMS](https://marine.copernicus.eu/)
62+
* [PODAAC NASA](https://podaac.jpl.nasa.gov/)
63+
64+
Make some comparison with satellite and the downloaded in situ observation
65+
66+
### Hydrodynamic model troubleshooting
67+
68+
[Hydrodynamic model troubleshooting](https://github.com/gher-ulg/Documentation/wiki/Hydrodynamic-model-troubleshooting)
69+
70+
71+
### More information
72+
73+
* [ROMS Wiki](https://www.myroms.org/wiki/)
74+
* [ROMS Wiki Frequently Asked Questions](https://www.myroms.org/wiki/Frequently_Asked_Questions)
75+
* K. Hedström. 2016. [Technical Manual for a Coupled Sea-Ice/Ocean Circulation Model (Version 4)](https://github.com/kshedstrom/roms_manual/blob/master/roms_manual.pdf). U.S. Dept. of the Interior, Bureau of Ocean Energy Management, Alaska OCS Region. OCS, Study BOEM 2016-037. 176 pp.

0 commit comments

Comments
 (0)