coecms / esm-pre-industrial

1 stars 3 forks source link

Full paths for some UM inputs #4

Open aidanheerdegen opened 4 years ago

aidanheerdegen commented 4 years ago

There appear to still be some full paths to files in the UM config. These files will not be tracked in the manifests.

atmosphere/ihist: VERT_LEV        = 'VERT_LEV: $UMDIR/vn7.3/ctldata/vert/vertlevs_G3                                 ',
atmosphere/ihist: NDEPFIL = 'NDEPFIL  : /g/data1a/p66/txz599/data/ancil/CMIP6/Ndep_1850_ESM1.anc
atmosphere/INITHIS: VERT_LEV='VERT_LEV: $UMDIR/vn7.3/ctldata/vert/vertlevs_G3',
atmosphere/INITHIS:NDEPFIL= 'NDEPFIL  : /g/data1a/p66/txz599/data/ancil/CMIP6/Ndep_1850_ESM1.anc',
atmosphere/um_env.py:'ASTART': '/scratch/p66/hxw599/packed_up/input/start_dump/pre-industrial.astart
',

These absolute paths should be moved to paths relative to the work/atmosphere directory and the paths to these files added as sources (input) in config.yaml

aidanheerdegen commented 4 years ago

Maybe the input files are ok due to the way the UM find files. There are these definitions also:

atmosphere/um_env.py:'VERT_LEV': 'INPUT/vertlevs_G3',
atmosphere/um_env.py:'NDEPFIL': 'INPUT/Ndep_1850_ESM1.anc',

And it looks like they're being resolved correctly:

$ ls -l work/atmosphere/INPUT/Ndep_1850_ESM1.anc
lrwxrwxrwx 1 aph502 v45 81 May 25 14:08 work/atmosphere/INPUT/Ndep_1850_ESM1.anc -> /g/data/access/payu/access-esm/input/pre-industrial/atmosphere/Ndep_1850_ESM1.anc
$ ls -l /g/data/access/payu/access-esm/input/pre-industrial/atmosphere/vertlevs_G3
-r-xr-x---+ 1 hxw599 access 948 May 19 14:11 /g/data/access/payu/access-esm/input/pre-industrial/atmosphere/vertlevs_G3

In which case probably best to just remove those confusing paths from those other files?

That ASTART file needs to be moved to a restart location though I would have thought, and referenced locally (INPUT/.....)

aidanheerdegen commented 4 years ago

It is a bit tricky to figure out exactly what payu has done because environment um_env.py is substituted at the time the model is run. Here are the UM related environment variables when run as-is

AINITIAL: ''
ARCLBIOG: INPUT/biogenic_351sm.N96L38
ASTART: restart_dump.astart
AUSCOM_CPL: 'true'
BIOMASS: INPUT/Bio_1850_ESM1.anc
CHEMOXID: INPUT/sulpc_oxidants_N96_L38
DATAW: /scratch/v45/aph502/access-esm/work/esm-pre-industrial-clean/atmosphere
NDEPFIL: INPUT/Ndep_1850_ESM1.anc
OCFFEMIS: INPUT/OCFF_1850_ESM1.anc
OZONE: INPUT/ozone_1850_ESM1.anc
PAREXE: parexe
PRINT_STATUS: PrStatus_Diag
RPSEED: ''
RUNID: PI-01
SOOTEMIS: INPUT/BC_hi_1850_ESM1.anc
STASETS_DIR: INPUT/stasets
SULPEMIS: INPUT/scycl_1850_ESM1_v4.anc
TYPE: NRUN
UM_ATM_NPROCX: '16'
UM_ATM_NPROCY: '12'
UM_NAM_MAX_SECONDS: '300'
UM_NPES: '192'
UM_SECTOR_SIZE: '2048'
UM_STDOUT_FILE: atm.fort6.pe
UNIT01: ''
UNIT02: prefix
UNIT04: STASHC
UNIT05: namelists
UNIT07: PI-01.out2
UNIT08: /dev/null
UNIT09: CONTCNTL
UNIT10: xhist
UNIT11: ihist
UNIT12: thist
UNIT14: errflag
UNIT15: ''
UNIT22: INPUT/STASHmaster
UNIT57: INPUT/spec3a_sw_hadgem1_6on
UNIT58: ''
UNIT80: INPUT/spec3a_lw_hadgem1_6on
VEGINIT: INPUT/cable_vegfunc_N96.anc
VERT_LEV: INPUT/vertlevs_G3
VN: '7.3'

And the manifest/restart.yaml shows the ASTART file is correct (work is a symbolic link to /scratch/v45/aph502/access-esm/work/esm-pre-industrial-clean):

work/atmosphere/restart_dump.astart:
  fullpath: /g/data/access/payu/access-esm/restart/pre-industrial/atmosphere/restart_dump.astart   
  hashes:
    binhash: 7a09f2265594948d0ed84ecf996b7338
    md5: f31560220e51d999f9dae5820d73cca8

So it looks like it is doing the right thing, but I still think we shouldn't have absolute paths in the default um_env.py as it is confusing. Better to set it to nothing.