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 3363 for branches/2012/dev_r3322_NOCS09_SAS/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90 – NEMO

Ignore:
Timestamp:
2012-04-24T13:24:17+02:00 (12 years ago)
Author:
sga
Message:

NEMO branch dev_r3322_NOCS09_SAS: bugfixes of the changes to the modifications of the sbcssm imposter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3322_NOCS09_SAS/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90

    r3362 r3363  
    3333   PRIVATE 
    3434 
    35    PUBLIC   sbc_ssm_init   ! called by opa.F90 
    36    PUBLIC   sbc_ssm        ! called by step.F90 
    37  
    38    CHARACTER(len=100) ::   cn_dir     = './'    !: Root directory for location of ssm files 
    39    LOGICAL            ::   ln_3d_uv   = .true.  !: specify whether input velocity data is 3D 
     35   PUBLIC   sbc_ssm_sas_init   ! called by opa.F90 
     36   PUBLIC   sbc_ssm            ! called by step.F90 
     37 
     38   CHARACTER(len=100)   ::   cn_dir     = './'    !: Root directory for location of ssm files 
     39   LOGICAL              ::   ln_3d_uv   = .true.  !: specify whether input velocity data is 3D 
     40   INTEGER  , SAVE      ::   nfld_3d 
     41   INTEGER  , SAVE      ::   nfld_2d 
    4042 
    4143   INTEGER  , PARAMETER ::   jpfld_3d = 4   ! maximum number of files to read 
     
    118120      ENDIF 
    119121 
    120       IF( jfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d )      !==   read data at kt time step   ==! 
    121       IF( jfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d )      !==   read data at kt time step   ==! 
     122      IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d )      !==   read data at kt time step   ==! 
     123      IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d )      !==   read data at kt time step   ==! 
    122124      !  
    123125      IF( ln_3d_uv ) THEN 
     
    162164      INTEGER  :: ierr, ierr0, ierr1, ierr2, ierr3   ! return error code 
    163165      INTEGER  :: ifpr                               ! dummy loop indice 
    164       INTEGER  :: jfld_3d, jfld_2d                   ! dummy loop arguments 
    165166      INTEGER  :: inum, idv, idimv, jpm              ! local integer 
    166167      !! 
     
    202203      IF( ln_3d_uv ) THEN 
    203204         jf_usp = 1 ; jf_vsp = 2 
    204          jfld_3d  = 2 
    205          jfld_2d  = 3 
     205         nfld_3d  = 2 
     206         nfld_2d  = 3 
    206207         slf_3d(jf_usp) = sn_usp ; slf_3d(jf_vsp) = sn_vsp 
    207208      ELSE 
    208209         jf_usp = 4 ; jf_vsp = 5 
    209          jfld_3d  = 0 
    210          jfld_2d  = 5 
     210         nfld_3d  = 0 
     211         nfld_2d  = 5 
    211212         slf_2d(jf_usp) = sn_usp ; slf_2d(jf_vsp) = sn_vsp 
    212213      ENDIF 
     
    214215      slf_2d(jf_tem) = sn_tem ; slf_2d(jf_sal) = sn_sal ; slf_2d(jf_ssh) = sn_ssh 
    215216      ! 
    216       IF( jfld_3d > 0 ) THEN 
    217          ALLOCATE( sf_ssm_3d(jfld_3d), STAT=ierr )         ! set sf structure 
     217      IF( nfld_3d > 0 ) THEN 
     218         ALLOCATE( sf_ssm_3d(nfld_3d), STAT=ierr )         ! set sf structure 
    218219         IF( ierr > 0 ) THEN 
    219220            CALL ctl_stop( 'sbc_ssm: unable to allocate sf structure' )   ;   RETURN 
    220221         ENDIF 
    221          DO ifpr = 1, jfld_3d 
     222         DO ifpr = 1, nfld_3d 
    222223                                       ALLOCATE( sf_ssm_3d(ifpr)%fnow(jpi,jpj,jpk)    , STAT=ierr0 ) 
    223224            IF( slf_3d(ifpr)%ln_tint ) ALLOCATE( sf_ssm_3d(ifpr)%fdta(jpi,jpj,jpk,2)  , STAT=ierr1 ) 
     
    230231      ENDIF 
    231232 
    232       IF( jfld_2d > 0 ) THEN 
    233          ALLOCATE( sf_ssm_2d(jfld_2d), STAT=ierr )         ! set sf structure 
     233      IF( nfld_2d > 0 ) THEN 
     234         ALLOCATE( sf_ssm_2d(nfld_2d), STAT=ierr )         ! set sf structure 
    234235         IF( ierr > 0 ) THEN 
    235236            CALL ctl_stop( 'sbc_ssm: unable to allocate sf 2d structure' )   ;   RETURN 
    236237         ENDIF 
    237          DO ifpr = 1, jfld_2d 
     238         DO ifpr = 1, nfld_2d 
    238239                                       ALLOCATE( sf_ssm_2d(ifpr)%fnow(jpi,jpj,1)    , STAT=ierr0 ) 
    239240            IF( slf_2d(ifpr)%ln_tint ) ALLOCATE( sf_ssm_2d(ifpr)%fdta(jpi,jpj,1,2)  , STAT=ierr1 ) 
     
    259260      ENDIF 
    260261      ! 
    261    END SUBROUTINE sbc_ssm_init 
     262   END SUBROUTINE sbc_ssm_sas_init 
    262263 
    263264   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.