Skip to content
Snippets Groups Projects
modeln.f90 77.4 KiB
Newer Older
  • Learn to ignore specific revisions
  •   !
      CALL  TIMING_LEGEND() 
      !
      CALL TIME_STAT_ll(XT_PARAM,ZTOT,      ' PHYS_PARAM','=')
        CALL TIME_STAT_ll(XT_RAD,ZTOT,      '   RAD       = '//CRAD  ,'-')
        CALL TIME_STAT_ll(XT_SHADOWS,ZTOT,  '   SHADOWS'             ,'-')
        CALL TIME_STAT_ll(XT_DCONV,ZTOT,    '   DEEP CONV = '//CDCONV,'-')
        CALL TIME_STAT_ll(XT_GROUND,ZTOT,   '   GROUND'              ,'-')
        CALL TIME_STAT_ll(XT_TURB,ZTOT,     '   TURB      = '//CTURB ,'-')
        CALL TIME_STAT_ll(XT_MAFL,ZTOT,     '   MAFL      = '//CSCONV,'-')
        CALL TIME_STAT_ll(XT_CHEM,ZTOT,     '   CHIMIE'              ,'-')
      CALL  TIMING_LEGEND()
      CALL TIME_STAT_ll(XT_COUPL,ZTOT,      ' SET_COUPLING','=')
      CALL TIME_STAT_ll(XT_RAD_BOUND,ZTOT,  ' RAD_BOUND','=')
      !
      CALL  TIMING_LEGEND()
      ! 
      CALL TIME_STAT_ll(XT_PRESS,ZTOT,      ' PRESSURE ','=','F')
      !JUAN Z_SPLITTING
        CALL TIME_STAT_ll(TIMEZ%T_MAP_B_SX_YP2_ZP1,ZTOT,          '   REMAP       B=>FFTXZ'  ,'-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1,ZTOT, '   REMAP   FFTXZ=>FFTYZ'  ,'-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SXP2_Y_ZP1_B,ZTOT,          '   REMAP   FTTYZ=>B'      ,'-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z,ZTOT, '   REMAP   FFTYZ=>SUBZ'   ,'-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_B_SXP2_Y_ZP1,ZTOT,          '   REMAP       B=>FFTYZ-1','-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1,ZTOT, '   REMAP    SUBZ=>FFTYZ-1','-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1,ZTOT, '   REMAP FFTYZ-1=>FFTXZ-1','-','F')
        CALL TIME_STAT_ll(TIMEZ%T_MAP_SX_YP2_ZP1_B,ZTOT,          '   REMAP FFTXZ-1=>B     ' ,'-','F')
      ! JUAN P1/P2
      CALL TIME_STAT_ll(XT_CLOUD,ZTOT,      ' RESOLVED_CLOUD','=')
      CALL TIME_STAT_ll(XT_HALO,ZTOT,       ' EXCHANGE_HALO','=')
      CALL TIME_STAT_ll(XT_STEP_SWA,ZTOT,   ' ENDSTEP','=')
      CALL TIME_STAT_ll(XT_STEP_BUD,ZTOT,   ' BUDGETS','=')
      CALL TIME_STAT_ll(XT_SPECTRA,ZTOT,    ' LES','=')
      CALL TIME_STAT_ll(XT_STEP_MISC,ZTOT,  ' MISCELLANEOUS','=')
      !
      ! sum of call subroutine
      !
      ZALL   = XT_1WAY + XT_BOUND   + XT_STORE   + XT_GUESS    +  XT_2WAY   + &
               XT_ADV  + XT_FORCING + XT_NUDGING + XT_SOURCES  +  XT_DIFF   + &
    
               XT_ADVUVW  + XT_GRAV +                                         &
    
               XT_RELAX+ XT_PARAM   + XT_COUPL   + XT_RAD_BOUND+XT_PRESS    + &
               XT_CLOUD+  XT_HALO   + XT_SPECTRA + XT_STEP_SWA +XT_STEP_MISC+ &
               XT_STEP_BUD
      CALL TIME_STAT_ll(ZALL,ZTOT,          ' SUM(CALL)','=')
      CALL  TIMING_SEPARATOR('=')
      !
      ! Gobale Stat
      !
      WRITE(ILUOUT,FMT=*)
      WRITE(ILUOUT,FMT=*)
      CALL  TIMING_LEGEND() 
      !
      ! MODELN all included
      !
      CALL  TIMING_SEPARATOR('+')
      CALL  TIMING_SEPARATOR('+')  
      WRITE(YMI,FMT="(I0)") IMI
      CALL TIME_STAT_ll(XT_START,ZTOT,      ' MODEL'//YMI,'+')
      CALL  TIMING_SEPARATOR('+')
      CALL  TIMING_SEPARATOR('+')
      CALL  TIMING_SEPARATOR('+')
      !
      ! Timing/ Steps
      !
      ZTIME_STEP     =  XT_START / FLOAT(KTCOUNT)
      WRITE(YTCOUNT,FMT="(I0)") KTCOUNT
      CALL TIME_STAT_ll(ZTIME_STEP,ZTOT,     ' SECOND/STEP='//YTCOUNT,'=')
      !
      ! Timing/Step/Points
      !
      IPOINTS = NIMAX_ll*NJMAX_ll*NKMAX
      WRITE(YPOINTS,FMT="(I0)") IPOINTS
      ZTIME_STEP_PTS =  ZTIME_STEP / FLOAT(IPOINTS) * 1e6
      CALL TIME_STAT_ll(ZTIME_STEP_PTS,ZTOT_PT)
      CALL TIME_STAT_ll(ZTIME_STEP_PTS,ZTOT_PT,  ' MICROSEC/STP/PT='//YPOINTS,'-')
      !
      CALL  TIMING_SEPARATOR('=')
      !
      !
      !
      CALL CLOSE_ll(CLUOUT,IOSTAT=IRESP)
      IF (IMI==NMODEL) CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
    END IF
    !
    END SUBROUTINE MODEL_n