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 5396 for trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90 – NEMO

Ignore:
Timestamp:
2015-06-10T14:59:48+02:00 (9 years ago)
Author:
cbricaud
Message:

changes for ticket #1531 ; ahmcoef now read in netcdf file instead of ascii file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r4292 r5396  
    2727      !!---------------------------------------------------------------------- 
    2828      USE ldftra_oce, ONLY :   aht0 
     29      USE iom 
    2930      !! 
    3031      LOGICAL, INTENT (in) ::   ld_print   ! If true, output arrays on numout 
     
    193194      !!---------------------------------------------------------------------- 
    194195      USE ldftra_oce, ONLY:   aht0 
     196      USE iom 
     197   !RBB USE in_out_manager ! I/O manager 
     198   !RBB USE fldread        ! read input fields 
     199 
    195200      !! 
    196201      LOGICAL, INTENT(in) ::   ld_print   ! If true, output arrays on numout 
     
    204209      CHARACTER (len=15) ::   clexp 
    205210      INTEGER , POINTER, DIMENSION(:,:)  :: icof 
    206       INTEGER , POINTER, DIMENSION(:,:)  :: idata 
    207211      REAL(wp), POINTER, DIMENSION(:  )  :: zcoef    
    208212      REAL(wp), POINTER, DIMENSION(:,:)  :: zahm0 
     213      ! 
     214      REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   ztemp2d  ! temporary array to read ahmcoef file 
    209215      !!---------------------------------------------------------------------- 
    210216      ! 
    211217      CALL wrk_alloc( jpi   , jpj   , icof  ) 
    212       CALL wrk_alloc( jpidta, jpjdta, idata ) 
    213218      CALL wrk_alloc( jpk   ,         zcoef ) 
    214219      CALL wrk_alloc( jpi   , jpj   , zahm0 ) 
     
    221226      ! Read 2d integer array to specify western boundary increase in the 
    222227      ! ===================== equatorial strip (20N-20S) defined at t-points 
    223  
    224       CALL ctl_opn( inum, 'ahmcoef', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    225       READ(inum,9101) clexp, iim, ijm 
    226       READ(inum,'(/)') 
    227       ifreq = 40 
    228       il1 = 1 
    229       DO jn = 1, jpidta/ifreq+1 
    230          READ(inum,'(/)') 
    231          il2 = MIN( jpidta, il1+ifreq-1 ) 
    232          READ(inum,9201) ( ii, ji = il1, il2, 5 ) 
    233          READ(inum,'(/)') 
    234          DO jj = jpjdta, 1, -1 
    235             READ(inum,9202) ij, ( idata(ji,jj), ji = il1, il2 ) 
    236          END DO 
    237          il1 = il1 + ifreq 
    238       END DO 
    239        
    240       DO jj = 1, nlcj 
    241          DO ji = 1, nlci 
    242             icof(ji,jj) = idata( mig(ji), mjg(jj) ) 
    243          END DO 
    244       END DO 
    245       DO jj = nlcj+1, jpj 
    246          DO ji = 1, nlci 
    247             icof(ji,jj) = icof(ji,nlcj) 
    248          END DO 
    249       END DO 
    250       DO jj = 1, jpj 
    251          DO ji = nlci+1, jpi 
    252             icof(ji,jj) = icof(nlci,jj) 
    253          END DO 
    254       END DO 
    255        
    256 9101  FORMAT(1x,a15,2i8) 
    257 9201  FORMAT(3x,13(i3,12x)) 
    258 9202  FORMAT(i3,41i3) 
    259        
     228      ALLOCATE( ztemp2d(jpi,jpj) ) 
     229      ztemp2d(:,:) = 0. 
     230      CALL iom_open ( 'ahmcoef.nc', inum ) 
     231      CALL iom_get  ( inum, jpdom_data, 'icof', ztemp2d) 
     232      icof(:,:)  = NINT(ztemp2d(:,:)) 
     233      CALL iom_close( inum ) 
     234      DEALLOCATE(ztemp2d) 
     235 
    260236      ! Set ahm1 and ahm2 
    261237      ! ================= 
     
    455431      ! 
    456432      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    457       CALL wrk_dealloc( jpidta, jpjdta, idata ) 
    458433      CALL wrk_dealloc( jpk   ,         zcoef ) 
    459434      CALL wrk_dealloc( jpi   , jpj   , zahm0 ) 
Note: See TracChangeset for help on using the changeset viewer.