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 9019 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ICB – NEMO

Ignore:
Timestamp:
2017-12-13T15:58:53+01:00 (6 years ago)
Author:
timgraham
Message:

Merge of dev_CNRS_2017 into branch

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ICB
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ICB/icb_oce.F90

    r6140 r9019  
    9090   REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE ::   ua_e, va_e 
    9191   REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE ::   ssh_e 
    92 #if defined key_lim2 || defined key_lim3 || defined key_cice 
     92#if defined key_lim3 || defined key_cice 
    9393   REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE ::   ui_e, vi_e 
    9494#endif 
     
    170170      ALLOCATE( uo_e(0:jpi+1,0:jpj+1) , ua_e(0:jpi+1,0:jpj+1) ,   & 
    171171         &      vo_e(0:jpi+1,0:jpj+1) , va_e(0:jpi+1,0:jpj+1) ,   & 
    172 #if defined key_lim2 || defined key_lim3 || defined key_cice 
     172#if defined key_lim3 || defined key_cice 
    173173         &      ui_e(0:jpi+1,0:jpj+1) ,                            & 
    174174         &      vi_e(0:jpi+1,0:jpj+1) ,                            & 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ICB/icbtrj.F90

    r8329 r9019  
    1616   USE dom_oce        ! NEMO ocean domain 
    1717   USE phycst         ! NEMO physical constants 
     18   USE icb_oce        ! define iceberg arrays 
     19   USE icbutl         ! iceberg utility routines 
     20   ! 
    1821   USE lib_mpp        ! NEMO MPI library, lk_mpp in particular 
    1922   USE in_out_manager ! NEMO IO, numout in particular 
    20    USE ioipsl, ONLY : ju2ymds    ! for calendar 
     23   USE ioipsl  , ONLY : ju2ymds    ! for calendar 
    2124   USE netcdf 
    22    ! 
    23    USE icb_oce        ! define iceberg arrays 
    24    USE icbutl         ! iceberg utility routines 
    2525 
    2626   IMPLICIT NONE 
     
    5858      !! ** Purpose :   initialise iceberg trajectory output files 
    5959      !!---------------------------------------------------------------------- 
    60       INTEGER, INTENT( in )                 :: ktend 
    61       ! 
    62       INTEGER                               :: iret 
    63       INTEGER                               :: iyear, imonth, iday 
    64       REAL(wp)                              :: zfjulday, zsec 
    65       CHARACTER(len=80)                     :: cl_filename 
    66       TYPE(iceberg), POINTER                :: this 
    67       TYPE(point)  , POINTER                :: pt 
    68       CHARACTER(LEN=20)                     :: cldate_ini, cldate_end 
     60      INTEGER, INTENT(in) ::   ktend   ! time step index 
     61      ! 
     62      INTEGER                ::   iret, iyear, imonth, iday 
     63      REAL(wp)               ::   zfjulday, zsec 
     64      CHARACTER(len=80)      ::   cl_filename 
     65      CHARACTER(LEN=20)      ::   cldate_ini, cldate_end 
     66      TYPE(iceberg), POINTER ::   this 
     67      TYPE(point)  , POINTER ::   pt 
    6968      !!---------------------------------------------------------------------- 
    7069 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ICB/icbutl.F90

    r7646 r9019  
    2121   USE icb_oce                             ! define iceberg arrays 
    2222   USE sbc_oce                             ! ocean surface boundary conditions 
    23 #if defined key_lim2 
    24    USE ice_2,         ONLY: u_ice, v_ice   ! LIM-2 ice velocities  (CAUTION in C-grid do not use key_vp option) 
    25    USE ice_2,         ONLY: hicif          ! LIM-2 ice thickness 
    26 #elif defined key_lim3 
    27    USE ice,           ONLY: u_ice, v_ice   ! LIM-3 variables  (always in C-grid) 
    28                                            ! gm  LIM3 case the mean ice thickness (i.e. averaged over categories) 
    29                                            ! gm            has to be computed somewhere in the ice and accessed here 
     23#if defined key_lim3 
     24   USE ice,    ONLY: u_ice, v_ice, hm_i    ! LIM-3 variables 
    3025#endif 
    3126 
     
    8580      CALL lbc_lnk_icb( fr_e, 'T', +1._wp, 1, 1 ) 
    8681      CALL lbc_lnk_icb( tt_e, 'T', +1._wp, 1, 1 ) 
    87 #if defined key_lim2 
    88       hicth(:,:) = 0._wp ;  hicth(1:jpi,1:jpj) = hicif(:,:)   
    89       CALL lbc_lnk_icb(hicth, 'T', +1._wp, 1, 1 )   
    90 #endif 
    91  
    92 #if defined key_lim2 || defined key_lim3 
     82#if defined key_lim3 
     83      hicth(:,:) = 0._wp ;  hicth(1:jpi,1:jpj) = hm_i (:,:)   
    9384      ui_e(:,:) = 0._wp ;   ui_e(1:jpi, 1:jpj) = u_ice(:,:) 
    9485      vi_e(:,:) = 0._wp ;   vi_e(1:jpi, 1:jpj) = v_ice(:,:) 
    95  
     86      CALL lbc_lnk_icb(hicth, 'T', +1._wp, 1, 1 ) 
    9687      CALL lbc_lnk_icb( ui_e, 'U', -1._wp, 1, 1 ) 
    9788      CALL lbc_lnk_icb( vi_e, 'V', -1._wp, 1, 1 ) 
     
    157148      pva  = pva * zmod 
    158149 
    159 #if defined key_lim2 || defined key_lim3 
     150#if defined key_lim3 
    160151      pui = icb_utl_bilin_h( ui_e, pi, pj, 'U' )              ! sea-ice velocities 
    161152      pvi = icb_utl_bilin_h( vi_e, pi, pj, 'V' ) 
    162 # if defined key_lim3 
    163       phi = 0._wp                                             ! LIM-3 case (to do) 
    164 # else 
    165153      phi = icb_utl_bilin_h(hicth, pi, pj, 'T' )              ! ice thickness 
    166 # endif 
    167154#else 
    168155      pui = 0._wp 
Note: See TracChangeset for help on using the changeset viewer.