[Ncep.list.wwatch3.discussion-group] WWIII Notes - Weds, May 18, 2018

Jessica Meixner - NOAA Federal jessica.meixner at noaa.gov
Thu Jun 21 13:23:22 UTC 2018


Hi Everyone-

If you have additional ideas or thoughts on these topics, please add them
to the wiki page: https://vlab.ncep.noaa.gov/redmine/projects/emc-ww3/wiki/
Proposed_strategies_for_code_improvements  so we can keep all of these
ideas together.

Best,
Jessica

On Wed, Jun 20, 2018 at 9:34 PM, Jessica Meixner - NOAA Federal <
jessica.meixner at noaa.gov> wrote:

> 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
>    <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
>



-- 
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/20180621/c95637a1/attachment-0001.html 


More information about the Ncep.list.wwatch3.discussion-group mailing list