New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 472 for trunk/NEMO/OPA_SRC/in_out_manager.F90 – NEMO

Ignore:
Timestamp:
2006-05-11T16:40:51+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_060: SM: IOM + 301 levels + CORE + begining of ctl_stop

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/in_out_manager.F90

    r434 r472  
    66 
    77   PUBLIC 
    8    !!---------------------------------------------------------------------- 
    9    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    10    !! $Header$  
    11    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    12    !!---------------------------------------------------------------------- 
    138 
    149   !!---------------------------------------------------------------------- 
     
    3227      ninist = 0        ,    &  !: initial state output flag (0/1) 
    3328      nbench = 0                !: benchmark parameter (0/1) 
    34    !!---------------------------------------------------------------------- 
    35    !!                          Run control   
    36    !!---------------------------------------------------------------------- 
    3729    
    38    INTEGER ::                &  !: 
    39       nstop = 0 ,            &  !: e r r o r  flag (=number of reason for a 
    40       !                         !                   prematurely stop the run) 
    41       nwarn = 0                 !: w a r n i n g  flag (=number of warning 
    42       !                         !                       found during the run) 
    43  
    44     
    45    CHARACTER (len=64) ::        &                                                    !: 
    46       cform_err="(/,' ===>>> : E R R O R',     /,'         ===========',/)"    ,   & !: 
    47       cform_war="(/,' ===>>> : W A R N I N G', /,'         ===============',/)"      !: 
    4830   !!---------------------------------------------------------------------- 
    4931   !! output monitoring 
    5032   !! ----------------------------------- 
    51  
    52    LOGICAL ::   &               !: 
    53       lwp                ,   &  !: boolean : true on the 1st processor only 
    54       lsp_area = .TRUE.         !: to make a control print over a specific area 
    5533 
    5634   INTEGER ::                &  !: 
     
    8058      numisp     = 41 ,      &  !: logical unit for island statistics 
    8159      numgap     = 45 ,      &  !: logical unit for differences diagnostic 
    82       numwrs     = 46 ,      &  !: logical unit for output restart 
    83       numtdt     = 62 ,      &  !: logical unit for data temperature 
    84       numsdt     = 63 ,      &  !: logical unit for data salinity 
    85       numrnf     = 64 ,      &  !: logical unit for runoff data 
    86       numwso     = 71 ,      &  !: logical unit for 2d output write 
    87       numwvo     = 72 ,      &  !: logical unit for 3d output write 
    88       numsst     = 65 ,      &  !: logical unit for surface temperature data 
    89       numsss     = 66 ,      &  !: logical unit for surface salinity data 
    9060      numbol     = 67 ,      &  !: logical unit for "bol" diagnostics 
    9161      numptr     = 68 ,      &  !: logical unit for Poleward TRansports 
    92       numflo     = 69 ,      &  !: logical unit for drifting floats 
     62      numflo     = 69           !: logical unit for drifting floats 
    9363      !                         !: * coupled units 
    94       numlhf     = 71 ,      &  !: unit to transfer fluxes 
    95       numlws     = 72 ,      &  !: unit to transfer stress 
    96       numlts     = 73 ,      &  !: unit to transfer sst 
    97       numlic     = 74           !: unit to transfer ice cover 
     64 
     65   !!---------------------------------------------------------------------- 
     66   !!                          Run control   
     67   !!---------------------------------------------------------------------- 
     68    
     69   INTEGER ::                &  !: 
     70      nstop = 0 ,            &  !: e r r o r  flag (=number of reason for a 
     71      !                         !                   prematurely stop the run) 
     72      nwarn = 0                 !: w a r n i n g  flag (=number of warning 
     73      !                         !                       found during the run) 
     74 
     75    
     76   CHARACTER(LEN=100) :: ctmp1, ctmp2, ctmp3    ! temporary character 
     77   CHARACTER (len=64) ::        &                                                    !: 
     78      cform_err="(/,' ===>>> : E R R O R',     /,'         ===========',/)"    ,   & !: 
     79      cform_war="(/,' ===>>> : W A R N I N G', /,'         ===============',/)"      !: 
     80   LOGICAL ::   &               !: 
     81      lwp                ,   &  !: boolean : true on the 1st processor only 
     82      lsp_area = .TRUE.         !: to make a control print over a specific area 
     83   !!---------------------------------------------------------------------- 
     84   !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     85   !! $Header$  
     86   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     87   !!---------------------------------------------------------------------- 
    9888 
    9989 
    100    !! Contral/debugging 
    101    !! ----------------- 
    102    REAL(wp) ::               &  !: 
    103       u_ctl, v_ctl,          &  !: sum of ua and va trend 
    104       t_ctl, s_ctl              !: sum of ta and sa trend 
     90CONTAINS 
     91 
     92 
     93   SUBROUTINE ctl_stop( cd1, cd2, cd3, cd4, cd5,   & 
     94      &                 cd6, cd7, cd8, cd9, cd10 ) 
     95      !!----------------------------------------------------------------------- 
     96      !!                  ***  ROUTINE  stop_opa  *** 
     97      !! 
     98      !! ** Purpose : ??? 
     99      !! 
     100      !!----------------------------------------------------------------------- 
     101      CHARACTER(len=*),INTENT(in),OPTIONAL ::  cd1, cd2, cd3, cd4, cd5, cd6, cd7, cd8, cd9, cd10 
     102      !!----------------------------------------------------------------------- 
     103       
     104      nstop = nstop + 1  
     105      IF(lwp) THEN 
     106         WRITE(numout,"(/,' ===>>> : E R R O R',     /,'         ===========',/)")  
     107         IF( PRESENT(cd1 ) ) WRITE(numout,*) cd1 
     108         IF( PRESENT(cd2 ) ) WRITE(numout,*) cd2 
     109         IF( PRESENT(cd3 ) ) WRITE(numout,*) cd3 
     110         IF( PRESENT(cd4 ) ) WRITE(numout,*) cd4 
     111         IF( PRESENT(cd5 ) ) WRITE(numout,*) cd5 
     112         IF( PRESENT(cd6 ) ) WRITE(numout,*) cd6 
     113         IF( PRESENT(cd7 ) ) WRITE(numout,*) cd7 
     114         IF( PRESENT(cd8 ) ) WRITE(numout,*) cd8 
     115         IF( PRESENT(cd9 ) ) WRITE(numout,*) cd9 
     116         IF( PRESENT(cd10) ) WRITE(numout,*) cd10 
     117      ENDIF 
     118      CALL FLUSH(numout) 
     119 
     120   END SUBROUTINE ctl_stop 
     121 
     122 
     123   SUBROUTINE ctl_warn( cd1, cd2, cd3, cd4, cd5,   & 
     124      &                 cd6, cd7, cd8, cd9, cd10 ) 
     125      !!----------------------------------------------------------------------- 
     126      !!                  ***  ROUTINE  stop_opa  *** 
     127      !! 
     128      !! ** Purpose : ??? 
     129      !! 
     130      !!----------------------------------------------------------------------- 
     131      CHARACTER(len=*),INTENT(in),OPTIONAL ::  cd1, cd2, cd3, cd4, cd5, cd6, cd7, cd8, cd9, cd10 
     132      !!----------------------------------------------------------------------- 
     133       
     134      nwarn = nwarn + 1  
     135      IF(lwp) THEN 
     136         WRITE(numout,"(/,' ===>>> : W A R N I N G', /,'         ===============',/)")  
     137         IF( PRESENT(cd1 ) ) WRITE(numout,*) cd1 
     138         IF( PRESENT(cd2 ) ) WRITE(numout,*) cd2 
     139         IF( PRESENT(cd3 ) ) WRITE(numout,*) cd3 
     140         IF( PRESENT(cd4 ) ) WRITE(numout,*) cd4 
     141         IF( PRESENT(cd5 ) ) WRITE(numout,*) cd5 
     142         IF( PRESENT(cd6 ) ) WRITE(numout,*) cd6 
     143         IF( PRESENT(cd7 ) ) WRITE(numout,*) cd7 
     144         IF( PRESENT(cd8 ) ) WRITE(numout,*) cd8 
     145         IF( PRESENT(cd9 ) ) WRITE(numout,*) cd9 
     146         IF( PRESENT(cd10) ) WRITE(numout,*) cd10 
     147      ENDIF 
     148      CALL FLUSH(numout) 
     149 
     150   END SUBROUTINE ctl_warn 
    105151 
    106152END MODULE in_out_manager 
Note: See TracChangeset for help on using the changeset viewer.