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 900 for trunk/NEMO/OPA_SRC/opa.F90 – NEMO

Ignore:
Timestamp:
2008-04-22T20:13:41+02:00 (16 years ago)
Author:
rblod
Message:

Update 1D configuration according to SBC and LIM3, see ticket #117

File:
1 edited

Legend:

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

    r899 r900  
    7373   USE dynspg_oce      ! Control choice of surface pressure gradient schemes 
    7474   USE prtctl          ! Print control                 (prt_ctl_init routine) 
    75    USE ini1d           ! re-initialization of u-v mask for the 1D configuration 
    76    USE dyncor1d        ! Coriolis factor at T-point 
    77    USE step1d          ! Time stepping loop for the 1D configuration 
     75   USE c1d             ! 1D configuration 
     76   USE dyncor_c1d      ! Coriolis factor at T-point 
     77   USE step_c1d        ! Time stepping loop for the 1D configuration 
    7878 
    7979   USE initrc          ! Initialization of the passive tracers 
     
    122122      ! check that all process are still there... If some process have an error, 
    123123      ! they will never enter in step and other processes will wait until the end of the cpu time! 
    124       IF( lk_mpp )   CALL mpp_max(nstop) 
    125  
    126       IF( lk_c1d ) THEN  
    127          istp = nit000 
     124      IF( lk_mpp )   CALL mpp_max( nstop ) 
     125 
     126      istp = nit000 
     127      IF( lk_c1d ) THEN                 ! 1D configuration (no AGRIF zoom) 
     128         ! 
     129         DO WHILE ( istp <= nitend .AND. nstop == 0 ) 
     130            CALL stp_c1d( istp ) 
     131            istp = istp + 1 
     132         END DO 
     133      ELSE                              ! 3D ocean with or without AGRIF zoom 
     134         ! 
    128135         DO WHILE ( istp <= nitend .AND. nstop == 0 ) 
    129136#if defined key_agrif 
    130             CALL Agrif_Step(stp_1d) 
    131 #else 
    132             CALL stp_1d( istp ) 
    133 #endif 
    134             istp = istp + 1 
    135  
    136             IF( lk_mpp )   CALL mpp_max(nstop) 
    137   
    138          END DO 
    139       ELSE 
    140          istp = nit000 
    141          DO WHILE ( istp <= nitend .AND. nstop == 0 ) 
    142 #if defined key_agrif 
    143             CALL Agrif_Step(stp) 
     137            CALL Agrif_Step( stp ) 
    144138#else 
    145139            CALL stp( istp ) 
    146140#endif 
    147141            istp = istp + 1 
    148  
    149             IF( lk_mpp )   CALL mpp_max(nstop) 
    150              
     142            IF( lk_mpp )   CALL mpp_max( nstop ) 
    151143         END DO 
    152144      ENDIF 
     
    168160      IF( lk_mpp )   CALL mppstop                          ! Close all files (mpp) 
    169161#endif 
    170  
     162      ! 
    171163   END SUBROUTINE opa_model 
    172164 
     
    267259      CALL dom_init                         ! Domain 
    268260 
    269       IF( ln_ctl )      CALL prt_ctl_init   ! Print control 
    270  
    271       IF( lk_c1d )      CALL fcorio_1d      ! redefine Coriolis at T-point 
     261      IF( lk_c1d    ) THEN                      ! adaptation for 1D configuration  
     262         CALL cor_c1d                                ! redefine Coriolis at T-point 
     263         umask(:,:,:) = tmask(:,:,:)                 ! U, V and T-points are the same 
     264         vmask(:,:,:) = tmask(:,:,:)                 !  
     265      ENDIF 
     266 
     267      IF( ln_ctl    )   CALL prt_ctl_init   ! Print control 
    272268 
    273269      IF( lk_obc    )   CALL obc_init       ! Open boundaries  
     
    309305 
    310306      IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA 
    311  
    312       IF( lk_c1d  )  THEN  
    313          CALL init_1d 
    314       ENDIF 
    315307 
    316308   END SUBROUTINE opa_init 
Note: See TracChangeset for help on using the changeset viewer.