Opened 16 years ago

Closed 16 years ago

#147 closed bug (Done)

Small correction to coupling synchronization clock

Reported by: arango Owned by: arango
Priority: minor Milestone: Release ROMS/TOMS 3.2
Component: Nonlinear Version: 3.2
Keywords: Cc:

Description

Corrected a small parallel bug when reporting the waiting time during coupling synchonization. Notice that the couple interface using the MCT libary has calls like:

      buffer(1)=my_wtime(wtime)
      CALL MCT_Recv (wav2ocn_AV, ROMStoSWAN, MyError)
      RecvTime=RecvTime+my_wtime(wtime)-buffer(1)
      ...
      buffer(2)=my_wtime(wtime)
      CALL MCT_Send (ocn2wav_AV, ROMStoSWAN, MyError)
      SendTime=SendTime+my_wtime(wtime)-buffer(2)

in all coupled models drivers. For example, see mct_roms_swan.h. Several statistics are reported to standard output to check the parallel/communication balance between all models. For the INLET_TEST example that couples ROMS and SWAN, we get:

NL ROMS/TOMS: started time-stepping: (Grid: 01 TimeSteps: 00000001 - 00005760)

   STEP   Day HH:MM:SS  KINETIC_ENRG   POTEN_ENRG    TOTAL_ENRG    NET_VOLUME

      0     0 00:00:00  0.000000E+00  4.346400E+01  4.346400E+01  1.444800E+09
      DEF_HIS   - creating history file: ocean_his.nc
      WRT_HIS   - wrote history  fields (Index=1,1) into time record = 0000001
      1     0 00:00:30  4.136166E-09  4.346401E+01  4.346401E+01  1.444800E+09
      2     0 00:01:00  8.618362E-08  4.346321E+01  4.346321E+01  1.444789E+09
      3     0 00:01:30  7.147723E-07  4.346093E+01  4.346093E+01  1.444757E+09
      4     0 00:02:00  2.555187E-06  4.345713E+01  4.345713E+01  1.444702E+09
      WAV2OCN   - (04) imported and (07) exported fields,    t = 20000101.000200
                - SWAN coupling exchanges wait clock (s):
                   (Recv= 3.07452679E-02 Send= 9.13143158E-04)
      OCN2WAV   - (07) imported and (04) exported fields,    t =     0 00:02:00
                - ROMS coupling exchanges wait clock (s):
                   (Recv= 1.21391559E+01 Send= 9.74893570E-04)
                - ROMS Import: wave energy dissipation
                   (Min=  0.00000000E+00 Max=  1.72405359E-04)
                - ROMS Import: significant wave height
                   (Min=  0.00000000E+00 Max=  9.97979820E-01)
                - ROMS Import: surface wave relative peak period
                   (Min=  0.00000000E+00 Max=  9.51826859E+00)
                - ROMS Import: bottom wave period
                   (Min=  0.00000000E+00 Max=  1.06277828E+01)
                - ROMS Import: wave bottom orbital velocity
                   (Min=  0.00000000E+00 Max=  2.00194478E-01)
                - ROMS Import: wave direction
                   (Min=  0.00000000E+00 Max=  6.28318477E+00)
                - ROMS Import: average wave length
                   (Min=  0.00000000E+00 Max=  9.23759995E+01)
                - ROMS Export: bathymetry
                   (Min=  4.00000000E+00 Max=  1.55200000E+01)
                - ROMS Export: free-surface
                   (Min= -1.21127734E-02 Max=  8.22481532E-06)
                - ROMS Export: vertically integrated u-momentum component
                   (Min= -1.15870464E-05 Max=  1.15870464E-05)
                - ROMS Export: vertically integrated v-momentum component
                   (Min= -5.86567341E-06 Max=  8.49970348E-03)
      5     0 00:02:30  8.630084E-06  4.345318E+01  4.345319E+01  1.444644E+09

Here, the time-step for ROMS is dt=30 s and SWAN has d=60 s. The coupling between the two models is every 120 s. ROMS is run on 1 cpu whereas SWAN is run on 2 cpus. Notice that the time-step in ROMS is half of the one specified in SWAN. However, ROMS can be run at much larger time-step. The CFL condition for this case is around 10 s for the barotropic time-step (to resolve gravity waves) which implies a baroclinic time-step, dt=10*NDTFAST. If NDTFAST=20, dt=200.

According to the above numbers, SWAN is a much expensier model than ROMS for the same grid. Notice that the value Recv= 1.21391559E+01 s measures the time that ROMS is waiting for SWAN to arrive to the MCT (MPI) synchronization point. ROMS arrived much earlier even though is running at half of the time-step of SWAN and on just 1 cpu. This implies that we need to assign more parallel nodes to SWAN to balance the coupling computation.

This is a nice information to have so the computational resources can be allocated in an efficient way for a particular application.

Change History (1)

comment:1 by arango, 16 years ago

Priority: majorminor
Resolution: Done
Status: newclosed
Summary: Small correction to coupling sychronization clockSmall correction to coupling synchronization clock

Also I renamed SWAN standard input files for clarity from:

INPUT_inlet_test to swan_inlet_test.in

INPUT_test_head to swan_test_head.in

Note: See TracTickets for help on using tickets.