Skip to content

hannahwoodward/docker-rocke3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROCKE-3D Docker Image

Docker/Podman image to install and run a containerised ROCKE-3D on Fedora.

Useful links

Installation & running via published image

docker pull woodwardsh/rocke3d:latest
  • Run container, noting the mounting of local dir ./ModelE_Support to container /home/app/ModelE_Support for shared storage of model output:
docker run -it --rm --volume=${PWD}:/home/app/ModelE_Support woodwardsh/rocke3d:latest

# Options:
# -it       interactive && TTY (starts shell inside container)
# --rm      delete container on exit
# --volume  mount local directory inside container
# -w PATH   sets working directory inside container

Podman

  • Replace docker with podman, and note additional options to fix permissions on mounted volumes (see podman run):
podman run -it --rm -v ${PWD}/ModelE_Support:/home/app/ModelE_Support --security-opt label=disable woodwardsh/rocke3d:latest

Installation & running via locally built image

  • Clone repo & navigate inside:
git clone git@github.com:hannahwoodward/docker-rocke3d.git && cd docker-rocke3d
  • Build image from Dockerfile (~15 min):
docker build -t rocke3d .
  • Or, if debugging:
docker build -t rocke3d . --progress=plain --no-cache
  • Run locally built container:
docker run -it --rm -v ${PWD}/ModelE_Support:/home/app/ModelE_Support rocke3d

# Options:
# -it       interactive && TTY (starts shell inside container)
# --rm      delete container on exit
# -v        mount local directory inside container
# -w PATH   sets working directory inside container

Podman

  • Build with similar command, replacing docker with podman:
podman build -t rocke3d .
  • Run, with additional options to fix permissions on mounted volumes (see podman run):
podman run -it --rm -v ${PWD}/ModelE_Support:/home/app/ModelE_Support --security-opt label=disable rocke3d

Testing

  • Start container
  • Run sh test-earth.sh (output written to ModelE_Support/huge_space/E1oM20_Test)
  • Run sh test-planet.sh (uses SOCRATES; output written to ModelE_Support/huge_space/P1SoM40_Test)

Diagnostics & Post-processing

  • ROCKE-3D Diagnostics info
  • The following directories have been added to $PATH, which contain scripts to generate readable netcdf model outputs:
    • $HOME/$MODELDIR/model/mk_diags:
      • scaleacc for interim/accumulative source files (e.g. PARTIAL.acc$RUN_ID.nc aij)
      • sumfiles to combine multiple acc files across different time periods
      • Documention can be found in $MODELDIR/model/mk_diags/conventions.txt
    • $HOME/bin:
      • scaleaccm the multifile equivalent of scaleacc, e.g. scaleaccm ANN*.acc*.nc aij

Publishing image

docker login && docker tag rocke3d woodwardsh/rocke3d && docker push woodwardsh/rocke3d

Model info

  • Create a rundeck P2{G,S}{A,x,N}{p,q,o}{F,M}40
    • GISS/SOCRATES radiation
    • Atmosphere of PI Earth Ocean {p,q,o}
    • M40 4degx5deg with 40 layers in atmosphere, 13 layers in ocean
  • Rundeck start/stop times:
    • YEAR is just an index, MONTH always 1 to 12, HOUR always 0 to 23
      • Calendar system used divides days into 24 model "hours" and years into 12 "months", so with varying orbital/rotation periods will therefore not generally be 3600s or 720hrs, respectively
    • ISTART=2 way to tell the model that initial conditions will be provided (AIC atmosphere, ground GIC, and if relevant ocean OIC)
    • IRANDI=X random number generation seed/adding numerical noise, used for cloud generation
    • master_yr=1850 tells model to use Earth greenhouse gas concentrations
    • master_yr=0 runs a transient simulation
  • For non-Earth continental configurations:
    • Ensure land mass added at south pole to prevent grid singularity issues
    • Change OCNDYN.f#L5812: J10=4 to J10=1 (or whatever latitude south pole landmass ends at)

About

ROCKE-3D Docker Image

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published