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 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/OBS – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

Location:
trunk/NEMOGCM/NEMO/OPA_SRC/OBS
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r2733 r3294  
    1616   !!---------------------------------------------------------------------- 
    1717   !! * Modules used    
     18   USE wrk_nemo                 ! Memory Allocation 
    1819   USE par_kind                 ! Precision variables 
    1920   USE in_out_manager           ! I/O manager 
     
    10111012         & rday                          
    10121013      USE oce, ONLY : &                 ! Ocean dynamics and tracers variables 
    1013          & tn,  &              
    1014          & sn,  & 
     1014         & tsn,  &              
    10151015         & un, vn,  & 
    10161016         & sshn 
    1017 #if defined key_ice_lim 
     1017#if defined  key_lim3 
    10181018      USE ice, ONLY : &                     ! LIM Ice model variables 
    10191019         & frld 
    10201020#endif 
    1021       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    1022 #if ! defined key_ice_lim 
    1023       USE wrk_nemo, ONLY: frld => wrk_2d_1 
     1021#if defined key_lim2 
     1022      USE ice_2, ONLY : &                     ! LIM Ice model variables 
     1023         & frld 
    10241024#endif 
    10251025      IMPLICIT NONE 
     
    10351035      INTEGER :: jveloset               ! velocity profile data loop variable 
    10361036      INTEGER :: jvar                   ! Variable number     
     1037#if ! defined key_lim2 && ! defined key_lim3 
     1038      REAL(wp), POINTER, DIMENSION(:,:) :: frld    
     1039#endif 
    10371040      CHARACTER(LEN=20) :: datestr=" ",timestr=" " 
    10381041  
    1039 #if ! defined key_ice_lim 
    1040       IF(wrk_in_use(2, 1))THEN 
    1041          CALL ctl_stop('dia_obs : requested workspace array unavailable.') 
    1042          RETURN 
    1043       END IF 
     1042#if ! defined key_lim2 && ! defined key_lim3 
     1043      CALL wrk_alloc(jpi,jpj,frld)  
    10441044#endif 
    10451045 
     
    10551055      ! No LIM => frld == 0.0_wp 
    10561056      !----------------------------------------------------------------------- 
    1057 #if ! defined key_ice_lim 
     1057#if ! defined key_lim2 && ! defined key_lim3 
    10581058      frld(:,:) = 0.0_wp 
    10591059#endif 
     
    10661066         DO jprofset = 1, nprofsets 
    10671067            IF ( ld_enact(jprofset) ) THEN 
    1068                CALL obs_pro_opt( prodatqc(jprofset),                          & 
    1069                   &              kstp, jpi, jpj, jpk, nit000, idaystp, tn, sn,& 
    1070                   &              gdept_0, tmask, n1dint, n2dint,              & 
     1068               CALL obs_pro_opt( prodatqc(jprofset),                     & 
     1069                  &              kstp, jpi, jpj, jpk, nit000, idaystp,   & 
     1070                  &              tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal),   & 
     1071                  &              gdept_0, tmask, n1dint, n2dint,         & 
    10711072                  &              kdailyavtypes = endailyavtypes ) 
    10721073            ELSE 
    1073                CALL obs_pro_opt( prodatqc(jprofset),                          & 
    1074                   &              kstp, jpi, jpj, jpk, nit000, idaystp, tn, sn,& 
     1074               CALL obs_pro_opt( prodatqc(jprofset),                     & 
     1075                  &              kstp, jpi, jpj, jpk, nit000, idaystp,   & 
     1076                  &              tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal),   & 
    10751077                  &              gdept_0, tmask, n1dint, n2dint               ) 
    10761078            ENDIF 
     
    10911093         DO jsstset = 1, nsstsets 
    10921094            CALL obs_sst_opt( sstdatqc(jsstset),                 & 
    1093                &              kstp, jpi, jpj, nit000, tn(:,:,1), & 
     1095               &              kstp, jpi, jpj, nit000, tsn(:,:,1,jp_tem), & 
    10941096               &              tmask(:,:,1), n2dint ) 
    10951097         END DO 
     
    11011103      ENDIF 
    11021104 
    1103 #if defined key_ice_lim 
     1105#if defined key_lim2 || defined key_lim3 
    11041106      IF ( ln_seaice ) THEN 
    11051107         DO jseaiceset = 1, nseaicesets 
     
    11211123      ENDIF 
    11221124 
    1123 #if ! defined key_ice_lim 
    1124       IF(wrk_not_released(2, 1))THEN 
    1125          CALL ctl_stop('dia_obs : failed to release workspace array.') 
    1126       END IF 
     1125#if ! defined key_lim2 && ! defined key_lim3 
     1126      CALL wrk_dealloc(jpi,jpj,frld)  
    11271127#endif 
    11281128 
  • trunk/NEMOGCM/NEMO/OPA_SRC/OBS/obs_inter_sup.F90

    r2715 r3294  
    1010   !!--------------------------------------------------------------------- 
    1111   !! * Modules used 
     12   USE wrk_nemo        ! Memory Allocation 
    1213   USE par_kind        ! Precision variables 
    1314   USE dom_oce         ! Domain variables 
     
    105106      !!        !  08-02  (K. Mogensen)  Original code 
    106107      !!---------------------------------------------------------------------- 
    107       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    108       USE wrk_nemo, ONLY: wrk_3d_1 
    109108      !! 
    110109      !! * Arguments 
     
    122121         & pgval            ! Stencil at each point 
    123122      !! * Local declarations 
    124       REAL(KIND=wp), POINTER, DIMENSION(:,:,:) :: & 
    125          & zval 
     123      REAL(KIND=wp), POINTER, DIMENSION(:,:,:) ::   zval 
    126124      REAL(KIND=wp), DIMENSION(kptsi,kptsj,1,kobs) ::& 
    127125         & zgval  
    128126 
    129127      ! Check workspace array and set-up pointer 
    130       IF(wrk_in_use(3, 1))THEN 
    131          CALL ctl_stop('obs_int_comm_2d : requested workspace array unavailable.') 
    132          RETURN 
    133       END IF 
    134       zval => wrk_3d_1(:,:,1:1) 
     128      CALL wrk_alloc(jpi,jpj,1,zval)  
    135129 
    136130      ! Set up local "3D" buffer 
     
    156150 
    157151      ! 'Release' workspace array back to pool 
    158       IF(wrk_not_released(3, 1))THEN 
    159          CALL ctl_stop('obs_int_comm_2d : failed to release workspace array.') 
    160       END IF 
     152      CALL wrk_dealloc(jpi,jpj,1,zval)  
    161153 
    162154   END SUBROUTINE obs_int_comm_2d 
  • trunk/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_altbias.F90

    r2715 r3294  
    3333   USE obs_utils               ! Various observation tools 
    3434   USE obs_inter_sup 
     35   USE wrk_nemo                ! Memory Allocation 
    3536 
    3637   IMPLICIT NONE 
     
    6768      !! * Modules used 
    6869      USE iom 
    69       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    70       USE wrk_nemo, ONLY: z_altbias => wrk_2d_1   ! Array to store the alt bias values 
    7170      ! 
    7271      !! * Arguments 
     
    102101         & zglam, & 
    103102         & zgphi 
     103      REAL(wp), POINTER, DIMENSION(:,:) ::   z_altbias 
    104104      REAL(wp) :: zlam 
    105105      REAL(wp) :: zphi 
     
    109109      INTEGER :: numaltbias 
    110110 
    111       IF(wrk_in_use(2, 1))THEN 
    112          CALL ctl_stop('obs_rea_altbias : requested workspace array unavailable.') 
    113          RETURN 
    114       END IF 
     111      CALL wrk_alloc(jpi,jpj,z_altbias)  
    115112 
    116113      IF(lwp)WRITE(numout,*)  
     
    211208      END DO 
    212209 
    213       IF(wrk_not_released(2, 1))THEN 
    214          CALL ctl_stop('obs_rea_altbias : failed to release workspace array.') 
    215       END IF 
     210      CALL wrk_dealloc(jpi,jpj,z_altbias)  
    216211 
    217212   END SUBROUTINE obs_rea_altbias 
  • trunk/NEMOGCM/NEMO/OPA_SRC/OBS/obs_readmdt.F90

    r2715 r3294  
    1212   !!   obs_offset_mdt : Remove the offset between the model MDT and the used one 
    1313   !!---------------------------------------------------------------------- 
     14   USE wrk_nemo         ! Memory Allocation 
    1415   USE par_kind         ! Precision variables 
    1516   USE par_oce          ! Domain parameters 
     
    5657      !!---------------------------------------------------------------------- 
    5758      USE iom 
    58       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    59       USE wrk_nemo, ONLY:   z_mdt   => wrk_2d_1   ! Array to store the MDT values 
    60       USE wrk_nemo, ONLY:   mdtmask => wrk_2d_2   ! Array to store the mask for the MDT 
    6159      ! 
    6260      INTEGER                          , INTENT(IN)    ::   kslano    ! Number of SLA Products 
     
    7977      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   zmask, zmdtl, zglam, zgphi 
    8078      INTEGER , DIMENSION(:,:,:), ALLOCATABLE ::   igrdi, igrdj 
     79      ! 
     80      REAL(wp), POINTER, DIMENSION(:,:) ::  z_mdt, mdtmask 
    8181          
    8282      REAL(wp) :: zlam, zphi, zfill, zinfill    ! local scalar 
    8383      !!---------------------------------------------------------------------- 
    8484 
    85       IF( wrk_in_use(2, 1,2) ) THEN 
    86          CALL ctl_stop('obs_rea_mdt : requested workspace array unavailable')   ;   RETURN 
    87       ENDIF 
     85      CALL wrk_alloc(jpi,jpj,z_mdt,mdtmask)  
    8886 
    8987      IF(lwp)WRITE(numout,*)  
     
    172170      END DO 
    173171 
    174       IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('obs_rea_mdt: failed to release workspace arrays') 
     172      CALL wrk_dealloc(jpi,jpj,z_mdt,mdtmask)  
    175173      ! 
    176174   END SUBROUTINE obs_rea_mdt 
     
    190188      !! ** Action  :  
    191189      !!---------------------------------------------------------------------- 
    192       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    193       USE wrk_nemo, ONLY:   zpromsk => wrk_2d_3 
    194       ! 
    195190      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) ::   mdt     ! MDT used on the model grid 
    196191      REAL(wp)                    , INTENT(in   ) ::   zfill  
     
    198193      INTEGER  :: ji, jj 
    199194      REAL(wp) :: zdxdy, zarea, zeta1, zeta2, zcorr_mdt, zcorr_bcketa, zcorr     ! local scalar 
     195      REAL(wp), POINTER, DIMENSION(:,:) :: zpromsk 
    200196      CHARACTER(LEN=14), PARAMETER ::   cpname = 'obs_offset_mdt' 
    201197      !!---------------------------------------------------------------------- 
    202198 
    203       IF( wrk_in_use(2, 3) ) THEN 
    204          CALL ctl_stop('obs_offset_mdt: requested workspace array unavailable')   ;   RETURN 
    205       ENDIF 
     199      CALL wrk_alloc( jpi,jpj, zpromsk ) 
    206200 
    207201      !  Initialize the local mask, for domain projection  
     
    265259      IF ( nmsshc == 2 ) WRITE(numout,*) '           User defined MSSH correction'  
    266260 
    267       IF( wrk_not_released(2, 3) )   CALL ctl_stop('obs_offset_mdt: failed to release workspace array') 
     261      CALL wrk_dealloc( jpi,jpj, zpromsk ) 
    268262      ! 
    269263   END SUBROUTINE obs_offset_mdt 
  • trunk/NEMOGCM/NEMO/OPA_SRC/OBS/obs_rot_vel.F90

    r2715 r3294  
    99   !!---------------------------------------------------------------------- 
    1010   !! * Modules used    
     11   USE wrk_nemo                 ! Memory Allocation 
    1112   USE par_kind                 ! Precision variables 
    1213   USE par_oce                  ! Ocean parameters 
     
    5556      !!---------------------------------------------------------------------- 
    5657      !! * Modules used 
    57       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released    
    58       USE wrk_nemo, ONLY: zsingu => wrk_2d_1, zcosgu => wrk_2d_2, & 
    59                           zsingv => wrk_2d_3, zcosgv => wrk_2d_4 
    6058      !! * Arguments 
    6159      TYPE(obs_prof), INTENT(INOUT) :: profdata    ! Profile data to be read 
     
    8583      REAL(wp) :: zcos 
    8684      REAL(wp), DIMENSION(1) :: zobsmask 
     85      REAL(wp), POINTER, DIMENSION(:,:) :: zsingu,zcosgu,zsingv,zcosgv 
    8786      INTEGER, DIMENSION(:,:,:), ALLOCATABLE :: & 
    8887         & igrdiu, & 
     
    9392      INTEGER :: jk 
    9493 
    95       IF(wrk_in_use(2, 1,2,3,4))THEN 
    96          CALL ctl_stop('obs_rotvel : requested workspace arrays unavailable.') 
    97          RETURN 
    98       END IF 
     94      CALL wrk_alloc(jpi,jpj,zsingu,zcosgu,zsingv,zcosgv)  
    9995 
    10096      !----------------------------------------------------------------------- 
     
    229225         & ) 
    230226 
    231       IF(wrk_not_released(2, 1,2,3,4))THEN 
    232          CALL ctl_stop('obs_rotvel : failed to release workspace arrays.') 
    233       END IF 
     227      CALL wrk_dealloc(jpi,jpj,zsingu,zcosgu,zsingv,zcosgv)  
    234228 
    235229   END SUBROUTINE obs_rotvel 
Note: See TracChangeset for help on using the changeset viewer.