Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to config post-processing #182

Closed
anton-seaice opened this issue Jun 27, 2024 · 7 comments
Closed

Updates to config post-processing #182

anton-seaice opened this issue Jun 27, 2024 · 7 comments

Comments

@anton-seaice
Copy link
Contributor

anton-seaice commented Jun 27, 2024

Apologies for the multi-topic post, there are some common threads though. There are a few things we can do in config post processing.

Questions:
The scripts are general to all configurations. So are we going to add them individually (create a tools folder in the style of OM2) to each configuration branch? Or should we store them in a central location (e.g. in vk83)? Or load them as a package or submodule? (Or update payu)

The script will add a dependency to need python and access-nri-intake, shall we add these to the vk83 payu module or is there a better way to manage them?

Requirements:

  1. Build an intake datastore. This looks approximately like this for a first run (probably needs a dask cluster?) and we can save the datastore at the top level of the in the archive folder :
from access_nri_intake.source import builders

builder = builders.AccessOm3Builder(
    path=...
)

builder.build()

# Log invalid assets:

builder.invalid_assets

# Save the datastore to a file (json)

builder.save(name='intake_datastore', description=..., directory=...)

Subsequent runs will have to remake the whole datastore

  1. Concatenate the sea ice daily output. This looks very similar to https://github.com/ACCESS-NRI/om2-scripts/blob/main/concatenate_ice/concat_ice_daily.sh but with some paths adjusted. Should this be a sync or an archive user-script?

  2. Convert MOM6 output to netcdf4 and compress. This should be achievable with ncks (at lower resolutions) which is already in payu-env but may interact with mppn-combine at higher resolution (like OM2?).

Ping @aidanheerdegen

@anton-seaice
Copy link
Contributor Author

I think archive userscripts use the PBS job the model was run on, and sync userscripts use a seperate job (ACCESS-NRI/access-om2-configs#31 (comment))

@anton-seaice
Copy link
Contributor Author

I drafted something here for points 1 & 2. I will do 3 later

ACCESS-NRI/access-om3-configs@1deg_jra55do_ryf...1deg_jra55do_ryf.iss182

I dont understand how to run multiple archive userscripts (is it possible?). This fails:

userscripts:
    setup: tools/setup_cice_restarts.sh
    archive: 
        - tools/archive_cice_restarts.sh
        - tools/concat_ice_daily.sh
        - python3 tools/build_intake_ds.py

This also fails (it only runs the first one)

userscripts:
    setup: tools/setup_cice_restarts.sh
    archive: tools/archive_cice_restarts.sh & tools/concat_ice_daily.sh & python3 tools/build_intake_ds.py

@anton-seaice
Copy link
Contributor Author

I dont understand how to run multiple archive userscripts (is it possible?). This fails:
...

This should be possible once payu-org/payu#452 is implemented, which will be in next release

@anton-seaice
Copy link
Contributor Author

anton-seaice commented Jul 9, 2024

Leaving a note to myself to fix two things in the prototype:

  • The ice daily needs concatenating BEFORE building the intake cat (not at the same time)
  • This needs re-ordering an extra memory limit var, so the limit is correct per worker:
workers = int(environ["PBS_NCPUS"])
    if workers > 48:
        workers = 48
    client = Client(n_workers=workers , threads_per_worker=1, memory_limit=int(environ["PBS_VMEM"]) / workers)
  • Add git hash metadata to the output (make a common script for that?)

@anton-seaice
Copy link
Contributor Author

I've moved the scripts into COSIMA/om3-scripts#13

@anton-seaice
Copy link
Contributor Author

Its not possible to do the concat of daily data and generate a datastore until ACCESS-NRI/access-nri-intake-catalog#176 is resolved.

anton-seaice added a commit to COSIMA/om3-scripts that referenced this issue Aug 2, 2024
Creation of users scripts for OM3, see COSIMA/access-om3#182

There are three processes here:

1. Per COSIMA/access-om3#81 initial conditions file for CICE are converted from symlink to files/hardlinks
2. CICE daily output in concatenated into one file per month
3. An intake esm datastore for the run is generated

---------

Co-authored-by: Dougie Squire <[email protected]>
Co-authored-by: dougiesquire <[email protected]>
dougiesquire added a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 6, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
dougiesquire added a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 9, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 21, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 22, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 22, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
- 0.25 has 'default' initial conditions, so the setup userscript is just written in config.yaml
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 22, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-wav-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
anton-seaice pushed a commit to ACCESS-NRI/access-om3-configs that referenced this issue Aug 23, 2024
- work-around symlink restart bug in CICE
- concatenate CICE daily output
- auto-generate an intake-esm datastore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant