[Ncep.list.wwatch3.discussion-group] WWIII Notes - Weds, May 18, 2018
Jessica Meixner - NOAA Federal
jessica.meixner at noaa.gov
Wed Jun 20 21:34:23 UTC 2018
WWIII Notes - Weds, May 16, 2018
Hi Everyone,
Here are the very belated meeting notes from May when we had a discussion
lead by Aron Roland.
Updates on projects intended for next public release:
-
I have confirmed with everyone that their intended projects are all
listed as “versions” on the raodmap on redmine:
https://vlab.ncep.noaa.gov/redmine/projects/emc-ww3/roadmap and that
November is a good time for a public release.
-
6.XX Bit Reproducibility
<https://vlab.ncep.noaa.gov/redmine/versions/1381>
-- First issue has been narrowed down to be caused during the
reconciliation between two grids with the same rank. MPI barriers seem to
be helping.
-- Still have other issues: ww3_gint, ww3_tp2.5 mod_defs are not
bit-reproducible, point output in multigird
-
6.XX Namelist format for input files
<https://vlab.ncep.noaa.gov/redmine/versions/1353>
-- A commit is ready for the master adding netcdf pre/post, shel namelist
-- Mickael is now working on grid
-
No other Updates
Here are the action items for moving forward after the discussion lead by
Aron Roland:
*1. Design for replacing go to error statements: *
More descriptive errors than for situations like this where the following
two lines of code produce the same error messages:
READ(NDS,NML=OUTS,END=801,ERR=802,IOSTAT=J)
READ(NDS,NML=MISC,END=801,ERR=802,IOSTAT=J)
Which both print out the same error message “ERROR IN READNL”, not which
namelist.
A proposed alternative would be to do:
READ(NDS,NML=MISC,END=801,IOSTAT=J)
Error message with a GO TO, for example in ww3_bound.ftn:
! Checks consistency of NK
IF (NKI.GT.NK) GOTO 2008
2008 CONTINUE
WRITE (NDSE,1008) NK, NKI
CALL EXTCDE ( 68 )
1008 FORMAT (/' *** WAVEWATCH III ERROR IN W3BOUND: '/ &
' ILLEGAL NK, NK =',I3,' DIFFERS FROM NKI =',I3/ &
' IT WILL BE MANAGED SOON BY SPCONV')
Sometimes many errors we will have the same “GOTO 2008”
A proposed alternative would be to do:
! Checks consistency of NK
IF (NKI.GT.NK)
WRITE (NDSE,1008) NK, NKI !note 1008 should only be used once
CALL EXTCDE ( 68 )
END IF
*2. Proposed design for Interface for data types:*
1.
This would be to remove the “USE XXX” and instead create and pass
data structures into subroutines, for example:
w3srce(igrid(i)%src_type)
instead of
w3srce(var1,var2,var3)
1.
The thought would be to start with w3srce.
2.
We should keep in mind the needs for these data types for data
assimilation requirements in the Joint Effort for Data assimilation
Integration (JEDI) that NOAA is involved with. JEDI requires that the
geometry and the fields have to be independent. Specifically this
means:
1.
geometry (whatever I need to allocate my variables): nlon, nlat,
nfrq, ndir, grid(s), spec_grid(s).
2.
fields (whatever needed to run the assimilation): In principle,
the content of the restart file.
3.
etc (whatever is useful for specific tasks): the content of
the moddef. If this can be separated into multiple structures
according to
the content, e.g. coordinates, constants, physic_package_ related
variables, etc.
*3. Moving allocates earlier: *
1.
Can make branch now
2.
Start w/ data modules w3*datmd.ftn
3.
Example:
IF ( FLCUR ) THEN
ALLOCATE ( WADATS(IMOD)%CA0(NSEA) , &
WADATS(IMOD)%CAI(NSEA) , &
WADATS(IMOD)%CD0(NSEA) , &
WADATS(IMOD)%CDI(NSEA) , &
STAT=ISTAT )
!AR: If u really want to check the status of the allocation u must put this
call after initialization! Now it means nothing ...
CHECK_ALLOC_STATUS ( ISTAT )
END IF
Instead:
IF ( FLCUR ) THEN
ALLOCATE ( WADATS(IMOD)%CA0(NSEA)); WADATS(IMOD)%CA0(NSEA)=0.0
(appropraite kind)
CHECK_ALLOC_STATUS ( ISTAT )
, &
WADATS(IMOD)%CAI(NSEA) , &
WADATS(IMOD)%CD0(NSEA) , &
WADATS(IMOD)%CDI(NSEA) , &
STAT=ISTAT )
!AR: If u really want to check the status of the allocation u must put this
call after initialization! Now it means nothing ...
CHECK_ALLOC_STATUS ( ISTAT )
END IF
1.
Plot of memory spikes and how to use memcheck, will be forthcoming
from Aron.
*4. CPP Flags: *
1.
The proposed time frame for this would be after public release,
because it will be best to do this when as little development as possible
is going on. We need to remember to consider the projects that did not
make it into the public release.
*5. File handles:*
1.
This is for the write statements and opening files. We need to be
careful with this for when in coupled systems.
*6. Data assimilation update needs, from Stelios: *
1.
Above data structures would be helpful as well as a slightly more
compartmentalized wminit that separates data initialization from geometry
initialization.
I have started a wiki page for all of these topics. Please see:
https://vlab.ncep.noaa.gov/redmine/projects/emc-ww3/wiki/Proposed_strategies_for_code_improvements
Best,
Jessica
--
Jessica Meixner
NCEP/EMC
NOAA Center for Weather and Climate Prediction
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.lstsrv.ncep.noaa.gov/pipermail/ncep.list.wwatch3.discussion-group/attachments/20180620/31b3a72e/attachment-0001.html
More information about the Ncep.list.wwatch3.discussion-group
mailing list