Skip to content

Commit

Permalink
Updated socrates versions functionality to allow users to set GFDL_SO…
Browse files Browse the repository at this point in the history
…C_DIR, which then contains folders of different Socrates versions. Have updated docs to explain changes, but default behaviour of setting a single Socrates version should still work.
  • Loading branch information
sit23 committed Sep 13, 2024
1 parent 6917529 commit e7770a4
Show file tree
Hide file tree
Showing 5 changed files with 610 additions and 594 deletions.
1 change: 1 addition & 0 deletions docs/source/modules/socrates.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ SOCRATES (Suite Of Community RAdiative Transfer codes based on Edwards and Sling

* The code used to integrate Socrates into Isca is contained within the folder ``src/atmos_params/socrates/interface``.
* The Socrates source code itself is **NOT** packed within this Isca repository, and **NEW** users will need to download it from the `Met Office Science Repository <https://code.metoffice.gov.uk/trac/socrates>`_. Users can then either choose to put the Socrates code within the directory ``src/atmos_params/socrates/src/trunk``, or can set the bash environment variable ``GFDL_SOC`` equal to the location of the source code for Socrates. Detailed instructions on how to do this are included in the `README.md <https://github.com/ExeClim/Isca/blob/master/exp/test_cases/socrates_test/README.md>`_ for the Socrates test-case: ``exp/test_cases/socrates_test/README.md``.
* Some users of Isca may wish to compile Isca separately with several different versions of Socrates (If you only want a single version then you can ignore this). To do this, you will need to create a folder containing all of your Socrates versions and set the ``GFDL_SOC_DIR`` environment variable to that location. Within the ``GFDL_SOC_DIR`` folder should be folders containing each of your Socrates versions. Then when you create the ``SocratesCodeBase`` object in your experiment script, you can use the option ``socrates_version=YOUR_VERSIONS_FOLDER_NAME_HERE``. For example, if my ``GFDL_SOC_DIR`` folder has folders within it called ``1703`` and ``2207``, which are my different versions, then I can choose version ``1703`` by setting ``socrates_version=1703`` when I create a ``SocratesCodeBase`` object in my experiment script. Then, when Isca compiles, it will build seperate executables for the different Socrates versions.
* The basis of ``socrates_interface`` was coded by Mark Hammond (Univ. of Oxford) and James Manners (Met Office) and modified by Stephen Thomson (Univ. of Exeter) [Thomson_and_Vallis2019]_. Features added include seasonality in the radiation based on Isca's ``astronomy`` package, and the ability to use a ``radiation timestep != atmospheric timestep``.
* Socrates radiation scheme requires ``mass mixing ratios`` for all quantities (e.g. CO2, water vapor etc). This contrasts with RRTM, which wants ``volume mixing ratios``.

Expand Down
Loading

0 comments on commit e7770a4

Please sign in to comment.