HYCOM 1.0
Alan J. Wallcraft
Naval Research Laboratory
3rd HYCOM Consortium Meeting
October 30, 2000
HYCOM 1.08
Released August 2000
Almost all the features from the March meeting
MICOM-like coding style
More ``main-stream'' than MICOM
MKS units throughout
Grid orientation is West to East then South to North
User-tunable model parameters are read in at run time
Kraus-Turner or KPP mixed layer
Thick layers are isopycnal
Thin layers convert to Z or sigma coordinates
For shared memory machines only
Scalability via OpenMP (2-32 cpus)
Bit-for-bit multi-cpu reproducability
Simplified ``named pipe'' debugging capability
HYCOM 1.09
In Beta-test (early November release)
Minor bug fixes
Major capability upgrade
MICOM-like mode
Energy loan ice model
More control of hybrid layers
High frequency atmospheric forcing
Simplified OpenMP logic
Use ``j-loop'' subroutines when dealing with vertical processes
Minimizes the OpenMP changes when modifying the code
Improved climatology interpolator
Improved interface to plot package
HIGH FREQUENCY ATMOSPHERIC FORCING
MICOM/HYCOM traditionally use monthly forcing
Read in all 12 months at start, and write them out to a direct access file
Always hold 4 months spanning the current time in memory
Interpolate across 4 months to current time
Climatological forcing only (Dec-Jan wrap)
Real forcing is 12-hrly to 3-hrly
Modeling actual calendar years
Model day is days since 01/01/1901
Climatological forcing via 12-hrly anomalies
HYCOM 1.0.09
Just in time interpolation from native to model grid (outside the model)
Calculate the next model run's fields while this run is in progress
Always hold 2 fields spanning the current time in memory
Interpolate these to current time
LIMITATIONS OF HYCOM 1.0
Fortran 77 (MICOM-like) coding style
Only for shared memory machines
Periodic (global) regions not supported
Nested-domain open boundaries not supported
PAKK I/O not efficient or accurate
All fixed in HYCOM 2.0
Beta-test by December 2000
For release in January 2001
HYCOM 2.0
Alan J. Wallcraft
Naval Research Laboratory
3rd HYCOM Consortium Meeting
October 30, 2000
REMOVE LIMITATIONS OF HYCOM 1.0 (I)
Fortran 77 (MICOM-like) coding style
Update to cleaner, Fortran 90 based, coding style
Only for shared memory machines
Add MPI/SHMEM option (P-HYCOM)
Either MPI or OpenMP or both
Single source code
Selectable at compile time
Periodic (global) regions not supported
Adding halos for MPI automatically supports periodic boundaries
Pan-Am grid requires a special halo exchange
Nested-domain open boundaries not supported
Based on (new) archive files
Interpolate to target domain off-line
Model need only deal with one domain
REMOVE LIMITATIONS OF HYCOM 1.0 (II)
PAKK I/O not efficient or accurate
netCDF is eventual target
Not scalable or thread-safe
Would limit code portability if required by HYCOM
How to represent Pan-Am grid?
HYCOM 2 reads/writes ``.a and .b'' files
``.a'' is a raw IEEE REAL*4 array file (Fortran direct access)
``.b'' is a plain-text header file (Fortran formatted)
This I/O is simple and portable
It can easily be parallelized
Have the N-th processor read/write every N-th 2-D array record
Require the record length to be a multiple of 64KB?
Convert to netCDF off-line
FILE NAMING CONVENTION
Archive files currently contain one ``snapshot''
Filename is
archk.XXXXXX
XXXXXX
is the 6-digit model day
Can't sample at less than one day
Confusing for real calendar day runs
Model day is days since 01/01/1901
Suggested naming convention:
archv_YYYY_JJJ_HH.[ab]
YYYY
is year,
JJJ
is Julian day,
HH
is hour
Do we want multiple snapshots per file?
archv_YYYY_MM.[ab]
YYYY
is year,
MM
is month
All snapshots for the month in one file
Otherwise we could have one directory per year
data/YYYY/archv_YYYY_JJJ_HH.[ab]
Reduces the number of files per directory
File translated from T
E
X by
T
T
H
, version 1.30.