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 15366 – NEMO

Changeset 15366


Ignore:
Timestamp:
2021-10-14T09:46:31+02:00 (3 years ago)
Author:
dbruciaferri
Message:

Changing for including JMMP-CO idealised profiles for HPG errors test

Location:
NEMO/branches/UKMO/NEMO_4.0.4_hpge_ovf/src/OCE
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_hpge_ovf/src/OCE/DOM/dtatsd.F90

    r14075 r15366  
    3232   LOGICAL , PUBLIC ::   ln_tsd_init   !: T & S data flag 
    3333   LOGICAL , PUBLIC ::   ln_tsd_dmp    !: internal damping toward input data flag 
    34  
     34   ! 
     35   !                          !!* parameters for HPGE experiment  
     36   INTEGER , PUBLIC ::   nn_tsd_type   !: 1 = July on-shelf 
     37                                       !: 2 = July off-shelf 
     38                                       !: 3 = Jan on-shelf 
     39                                       !: 4 = Jan off-shelf 
     40                                       !: 5 = Siddorn & Furner 2013 
     41   REAL(wp), PUBLIC ::   rn_sal_sf, rn_mld_sf, rn_maxdep_sf, rn_c0_sf, rn_c1_sf !: Siddorn & Furner 2013  
     42                                                                                !: idealised profile  
     43   ! 
     44   ! 
    3545   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tsd   ! structure of input SST (file informations, fields read) 
    3646 
     
    5969      TYPE(FLD_N)                   ::   sn_tem, sn_sal 
    6070      !! 
    61       NAMELIST/namtsd/   ln_tsd_init, ln_tsd_dmp, cn_dir, sn_tem, sn_sal 
     71      NAMELIST/namtsd/   ln_tsd_init, ln_tsd_dmp, cn_dir, sn_tem, sn_sal, nn_tsd_type, & 
     72                      &  rn_sal_sf, rn_mld_sf, rn_maxdep_sf, rn_c0_sf, rn_c1_sf 
    6273      !!---------------------------------------------------------------------- 
    6374      ! 
     
    8697            WRITE(numout,*) 
    8798            WRITE(numout,*) '   ===>>   T & S data not used' 
     99         ENDIF 
     100         WRITE(numout,*) 
     101         WRITE(numout,*) 'dta_tsd_init : HPGE test parameters' 
     102         WRITE(numout,*) '~~~~~~~~~~~~ ' 
     103         WRITE(numout,*) '   Namelist namtsd' 
     104         WRITE(numout,*) '      Type of intial profile nn_tsd_type = ', nn_tsd_type 
     105         IF (nn_tsd_type == 5) THEN 
     106            WRITE(numout,*) '      Siddorn and Furner 2013 idalised initial profile' 
     107            WRITE(numout,*) '            rn_sal_sf    = ', rn_sal_sf 
     108            WRITE(numout,*) '            rn_mld_sf    = ', rn_mld_sf 
     109            WRITE(numout,*) '            rn_maxdep_sf = ', rn_maxdep_sf 
     110            WRITE(numout,*) '            rn_c0_sf     = ', rn_c0_sf 
     111            WRITE(numout,*) '            rn_c1_sf     = ', rn_c1_sf 
    88112         ENDIF 
    89113      ENDIF 
  • NEMO/branches/UKMO/NEMO_4.0.4_hpge_ovf/src/OCE/USR/usrdef_istate.F90

    r14075 r15366  
    88   !!====================================================================== 
    99   !! History :  4.0 ! 2016-03  (S. Flavoni) Original code 
     10   !!                ! 2021-10  (D. Bruciaferri) JMMP initial condition for 
     11   !!                                            HPGE test 
    1012   !!---------------------------------------------------------------------- 
    1113 
     
    1517   USE par_oce        ! ocean space and time domain 
    1618   USE phycst         ! physical constants 
     19   USE splines 
     20   USE dtatsd         ! data temperature and salinity   (dta_tsd routine) 
    1721   ! 
    1822   USE in_out_manager ! I/O manager 
     
    2630   !!---------------------------------------------------------------------- 
    2731   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    28    !! $Id$ 
     32   !! $Id: usrdef_istate.F90 10069 2018-08-28 14:12:24Z nicolasmartin $  
    2933   !! Software governed by the CeCILL license (see ./LICENSE) 
    3034   !!---------------------------------------------------------------------- 
     
    4852      REAL(wp), DIMENSION(jpi,jpj)         , INTENT(  out) ::   pssh    ! sea-surface height 
    4953      ! 
     54      REAL(wp), DIMENSION(42)  ::   zdep, zsal, ztem 
     55      REAL(wp) :: a0, a1, a2, b0, b1, b2 
    5056      INTEGER :: ji, jj, jk  ! dummy loop indices 
    5157      !!---------------------------------------------------------------------- 
     
    5965      pssh(:,:)   = 0._wp 
    6066      ! 
    61       DO jk = 1, jpk             ! horizontally uniform T & S profiles 
     67       
     68      zdep(:) = (/ & 
     69                   &    5.02,   15.08,   25.16,   35.28,   45.45,   55.69, & 
     70                   &   66.04,   76.55,   87.27,   98.31,  109.81,  121.95, & 
     71                   &  135.03,  149.43,  165.73,  184.70,  207.43,  235.39, & 
     72                   &  270.53,  315.37,  372.97,  446.80,  540.50,  657.32, & 
     73                   &  799.55,  968.00, 1161.81, 1378.66, 1615.29, 1868.07, & 
     74                   & 2133.52, 2408.58, 2690.78, 2978.17, 3269.28, 3563.04, & 
     75                   & 3858.68, 4155.63, 4453.50, 4752.02, 5050.99, 6300.27  & 
     76                   & /) 
     77 
     78      SELECT CASE(nn_tsd_type) 
     79       
     80         CASE(1) ! T/S July on-shelf  
     81            ztem(:) = (/ & 
     82                         & 13.8059, 13.1661, 12.0471, 10.7265,  9.5585,  8.7273, & 
     83                         &  8.2527,  7.9696,  7.7605,  7.5965,  7.5038,  7.5018, & 
     84                         &  7.5609,  7.6436,  7.7050,  7.7011,  7.5887,  7.3471, & 
     85                         &  6.9203,  6.1857,  5.2453,  4.1932,  3.4076,  2.8450, & 
     86                         &  2.6111,  2.5000,  2.5000,  2.5000,  2.5000,  2.5000, & 
     87                         &  2.5000,  2.5000,  2.5000,  2.5000,  2.5000,  2.5000, & 
     88                         &  2.5000,  2.5000,  2.5000,  2.5000,  2.5000,  2.5000  & 
     89                         & /) 
     90 
     91            zsal(:) = (/ & 
     92                         & 33.7727, 33.9841, 34.2683, 34.5326, 34.7335, 34.9079, & 
     93                         & 35.0119, 35.0726, 35.0902, 35.1034, 35.1101, 35.1223, & 
     94                         & 35.1436, 35.1718, 35.1893, 35.1929, 35.1828, 35.1670, & 
     95                         & 35.1408, 35.0990, 35.0415, 34.9760, 34.9168, 34.8753, & 
     96                         & 34.8558, 34.8502, 34.8504, 34.8506, 34.8508, 34.8510, & 
     97                         & 34.8512, 34.8514, 34.8516, 34.8518, 34.8520, 34.8522, & 
     98                         & 34.8524, 34.8526, 34.8528, 34.8530, 34.8532, 34.8534  & 
     99                         & /) 
     100 
     101         CASE(2) ! T/S July off-shelf 
     102       
     103            ztem(:) = (/ & 
     104                         & 13.0669, 12.8587, 12.4760, 11.9986, 11.5363, 11.1627, & 
     105                         & 10.8898, 10.6753, 10.4927, 10.3334, 10.2182, 10.1457, & 
     106                         & 10.1038, 10.0734, 10.0389,  9.9968,  9.9459,  9.8836, & 
     107                         &  9.8069,  9.6953,  9.5345,  9.2901,  8.9319,  8.4192, & 
     108                         &  7.7006,  6.7895,  5.7774,  4.8576,  4.1510,  3.6716, & 
     109                         &  3.3331,  3.0606,  2.8275,  2.6317,  2.4735,  2.3497, & 
     110                         &  2.2601,  2.1973,  2.1555,  2.1237,  2.1072,  2.1000  & 
     111                         & /) 
     112 
     113            zsal(:) = (/ & 
     114                         & 35.2001, 35.2052, 35.2186, 35.2411, 35.2661, 35.2873, & 
     115                         & 35.3021, 35.3124, 35.3205, 35.3267, 35.3304, 35.3330, & 
     116                         & 35.3355, 35.3393, 35.3422, 35.3438, 35.3436, 35.3428, & 
     117                         & 35.3413, 35.3374, 35.3313, 35.3239, 35.3192, 35.3171, & 
     118                         & 35.3171, 35.3171, 35.3171, 35.3171, 35.3171, 35.3171, & 
     119                         & 35.3171, 35.3171, 35.3171, 35.3171, 35.3171, 35.3171, & 
     120                         & 35.3171, 35.3171, 35.3171, 35.3171, 35.3171, 35.3171  & 
     121                         & /) 
     122 
     123         CASE(3) ! T/S January on-shelf 
     124 
     125            ztem(:) = (/ & 
     126                         &  7.8383,  7.9482,  8.0837,  8.1641,  8.1750,  8.1510, & 
     127                         &  8.1110,  8.0510,  7.9648,  7.8804,  7.8221,  7.8020, & 
     128                         &  7.7959,  7.7919,  7.8288,  7.8825,  7.9012,  7.7028, & 
     129                         &  7.2095,  6.3642,  5.2466,  4.0221,  2.9315,  2.1751, & 
     130                         &  1.7760,  1.6325,  1.6008,  1.6000,  1.6000,  1.6000, & 
     131                         &  1.6000,  1.6000,  1.6000,  1.6000,  1.6000,  1.6000, & 
     132                         &  1.6000,  1.6000,  1.6000,  1.6000,  1.6000,  1.6000  & 
     133                         & /) 
     134 
     135            zsal(:) = (/ & 
     136                         & 34.0842, 34.1682, 34.3100, 34.4740, 34.6210, 34.7275, & 
     137                         & 34.7861, 34.8231, 34.8661, 34.9293, 34.9936, 35.0405, & 
     138                         & 35.0618, 35.0683, 35.0791, 35.0980, 35.1224, 35.1287, & 
     139                         & 35.1140, 35.0773, 35.0315, 34.9838, 34.9431, 34.9159, & 
     140                         & 34.9019, 34.8971, 34.8960, 34.8962, 34.8964, 34.8966, & 
     141                         & 34.8968, 34.8970, 34.8972, 34.8974, 34.8976, 34.8978, & 
     142                         & 34.8980, 34.8982, 34.8984, 34.8986, 34.8988, 34.8990  & 
     143                         & /) 
     144 
     145         CASE(4) ! T/S January off-shelf 
     146 
     147            ztem(:) = (/ & 
     148                         &  9.9555,  9.9499,  9.9411,  9.9311,  9.9211,  9.9111, & 
     149                         &  9.9011,  9.8911,  9.8811,  9.8711,  9.8611,  9.8511, & 
     150                         &  9.8411,  9.8311,  9.8211,  9.8111,  9.8011,  9.7911, & 
     151                         &  9.7840,  9.7487,  9.6420,  9.3992,  9.0030,  8.4382, & 
     152                         &  7.7101,  6.8430,  5.9185,  5.0553,  4.3437,  3.8076, & 
     153                         &  3.4096,  3.0998,  2.8462,  2.6397,  2.4862,  2.3868, & 
     154                         &  2.3374,  2.3159,  2.3059,  2.2959,  2.2870,  2.2815  & 
     155                         & /) 
     156 
     157            zsal(:) = (/ & 
     158                         & 35.2802, 35.2808, 35.2817, 35.2827, 35.2837, 35.2847, & 
     159                         & 35.2857, 35.2867, 35.2877, 35.2887, 35.2897, 35.2907, & 
     160                         & 35.2917, 35.2927, 35.2937, 35.2947, 35.2957, 35.2967, & 
     161                         & 35.2998, 35.3032, 35.3048, 35.2985, 35.2851, 35.2640, & 
     162                         & 35.2340, 35.1899, 35.1320, 35.0692, 35.0150, 34.9784, & 
     163                         & 34.9598, 34.9527, 34.9502, 34.9474, 34.9436, 34.9397, & 
     164                         & 34.9379, 34.9378, 34.9388, 34.9398, 34.9407, 34.9413  & 
     165                         & /) 
     166         CASE(5) ! Analytic T/S July on-shelf 
     167           ! a0 = 13.0 
     168           ! a1 = 0.00507078656 
     169           ! a2 = 2.37539619 
     170           ! b0 = -1.1  
     171           ! b1 = 0.01  
     172           ! b2 = 34.85  
     173      END SELECT 
     174 
     175      IF (nn_tsd_type < 5) THEN  ! Use spline smoothing 
     176                                 ! horizontally uniform T & S profiles 
    62177         DO jj = 1, jpj 
    63178            DO ji = 1, jpi 
    64                pts(ji,jj,jk,jp_tem) =  (  (  16. - 12. * TANH( (pdept(ji,jj,jk) - 400) / 700 ) )   & 
    65                     &           * (-TANH( (500. - pdept(ji,jj,jk)) / 150. ) + 1.) / 2.             & 
    66                     &           + ( 15. * ( 1. - TANH( (pdept(ji,jj,jk)-50.) / 1500.) )            & 
    67                     &           - 1.4 * TANH((pdept(ji,jj,jk)-100.) / 100.)                        & 
    68                     &           + 7.  * (1500. - pdept(ji,jj,jk) ) / 1500.)                        & 
    69                     &           * (-TANH( (pdept(ji,jj,jk) - 500.) / 150.) + 1.) / 2.  ) * ptmask(ji,jj,jk) 
    70  
    71                pts(ji,jj,jk,jp_sal) =  (  (  36.25 - 1.13 * TANH( (pdept(ji,jj,jk) - 305) / 460 ) )  & 
    72                     &         * (-TANH((500. - pdept(ji,jj,jk)) / 150.) + 1.) / 2                  & 
    73                     &         + ( 35.55 + 1.25 * (5000. - pdept(ji,jj,jk)) / 5000.                 & 
    74                     &         - 1.62 * TANH( (pdept(ji,jj,jk) - 60.  ) / 650. )                    & 
    75                     &         + 0.2  * TANH( (pdept(ji,jj,jk) - 35.  ) / 100. )                    & 
    76                     &         + 0.2  * TANH( (pdept(ji,jj,jk) - 1000.) / 5000.) )                  & 
    77                     &         * (-TANH( (pdept(ji,jj,jk) - 500.) / 150.) + 1.) / 2  ) * ptmask(ji,jj,jk) 
     179               pts(ji,jj,:,jp_tem) = spline3(zdep,ztem,pdept(ji,jj,:)) !* ptmask(ji,jj,:) 
     180               pts(ji,jj,:,jp_sal) = spline3(zdep,zsal,pdept(ji,jj,:)) !* ptmask(ji,jj,:) 
    78181            END DO 
    79182         END DO 
    80       END DO 
    81       !    
     183     
     184      ELSE  ! Use an analytic function 
     185         DO jk = 1, jpk 
     186            DO jj = 1, jpj 
     187               DO ji = 1, jpi 
     188                  pts(ji,jj,jk,jp_sal) = rn_sal_sf !* ptmask(ji,jj,jk) 
     189                  pts(ji,jj,jk,jp_tem) = ( rn_c0_sf * ( 1-TANH(((pdept(ji,jj,jk)-rn_mld_sf)/20)*3.1415927/180) ) & 
     190                                         + rn_c1_sf * ((rn_maxdep_sf- pdept(ji,jj,jk)) / rn_maxdep_sf) ) !* ptmask(ji,jj,jk)  
     191               END DO 
     192            END DO 
     193         END DO 
     194      END IF 
     195 
    82196   END SUBROUTINE usr_def_istate 
    83197 
  • NEMO/branches/UKMO/NEMO_4.0.4_hpge_ovf/src/OCE/USR/usrdef_sbc.F90

    r14075 r15366  
    33   !!                     ***  MODULE  usrdef_sbc  *** 
    44   !! 
    5    !!                     ===  GYRE configuration  === 
     5   !!                   
    66   !! 
    7    !! User defined :   surface forcing of a user configuration 
     7   !! User defined :   set all surface forcing to 0 
    88   !!====================================================================== 
    99   !! History :  4.0   ! 2016-03  (S. Flavoni, G. Madec)  user defined interface 
     
    1111 
    1212   !!---------------------------------------------------------------------- 
    13    !!   usrdef_sbc    : user defined surface bounday conditions in GYRE case 
     13   !!   usrdef_sbc    : user defined surface bounday conditions 
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce            ! ocean dynamics and tracers 
     
    4343      !!                    ***  ROUTINE usrdef_sbc  *** 
    4444      !!               
    45       !! ** Purpose :   provide at each time-step the GYRE surface boundary 
     45      !! ** Purpose :   provide at each time-step the surface boundary 
    4646      !!              condition, i.e. the momentum, heat and freshwater fluxes. 
    4747      !! 
    48       !! ** Method  :   analytical seasonal cycle for GYRE configuration. 
    49       !!                CAUTION : never mask the surface stress field ! 
    50       !! 
     48      !! ** Method  :   Set all surface forcing to 0 
    5149      !! ** Action  : - set the ocean surface boundary condition, i.e.    
    5250      !!                   utau, vtau, taum, wndm, qns, qsr, emp, sfx 
    5351      !! 
    54       !! Reference : Hazeleger, W., and S. Drijfhout, JPO, 30, 677-695, 2000. 
    5552      !!---------------------------------------------------------------------- 
    5653      INTEGER, INTENT(in) ::   kt   ! ocean time step 
    57       !! 
    58       INTEGER  ::   ji, jj                 ! dummy loop indices 
    59       INTEGER  ::   zyear0                 ! initial year  
    60       INTEGER  ::   zmonth0                ! initial month 
    61       INTEGER  ::   zday0                  ! initial day 
    62       INTEGER  ::   zday_year0             ! initial day since january 1st 
    63       REAL(wp) ::   ztau     , ztau_sais   ! wind intensity and of the seasonal cycle 
    64       REAL(wp) ::   ztime                  ! time in hour 
    65       REAL(wp) ::   ztimemax , ztimemin    ! 21th June, and 21th decem. if date0 = 1st january 
    66       REAL(wp) ::   ztimemax1, ztimemin1   ! 21th June, and 21th decem. if date0 = 1st january 
    67       REAL(wp) ::   ztimemax2, ztimemin2   ! 21th June, and 21th decem. if date0 = 1st january 
    68       REAL(wp) ::   ztaun                  ! intensity 
    69       REAL(wp) ::   zemp_s, zemp_n, zemp_sais, ztstar 
    70       REAL(wp) ::   zcos_sais1, zcos_sais2, ztrp, zconv, t_star 
    71       REAL(wp) ::   zsumemp, zsurf 
    72       REAL(wp) ::   zrhoa  = 1.22         ! Air density kg/m3 
    73       REAL(wp) ::   zcdrag = 1.5e-3       ! drag coefficient 
    74       REAL(wp) ::   ztx, zty, zmod, zcoef ! temporary variables 
    75       REAL(wp) ::   zyydd                 ! number of days in one year 
    76       !!--------------------------------------------------------------------- 
    77       zyydd = REAL(nyear_len(1),wp) 
    7854 
    7955      ! ---------------------------- ! 
    8056      !  heat and freshwater fluxes  ! 
    8157      ! ---------------------------- ! 
    82       !same temperature, E-P as in HAZELEGER 2000 
    83  
    84       zyear0     =   ndate0 / 10000                             ! initial year 
    85       zmonth0    = ( ndate0 - zyear0 * 10000 ) / 100            ! initial month 
    86       zday0      =   ndate0 - zyear0 * 10000 - zmonth0 * 100    ! initial day betwen 1 and 30 
    87       zday_year0 = ( zmonth0 - 1 ) * 30.+zday0                  ! initial day betwen 1 and 360 
    88  
    89       ! current day (in hours) since january the 1st of the current year 
    90       ztime = REAL( kt ) * rdt / (rmmss * rhhmm)   &       !  total incrementation (in hours) 
    91          &      - (nyear  - 1) * rjjhh * zyydd             !  minus years since beginning of experiment (in hours) 
    92  
    93       ztimemax1 = ((5.*30.)+21.)* 24.                      ! 21th june     at 24h in hours 
    94       ztimemin1 = ztimemax1 + rjjhh * zyydd / 2            ! 21th december        in hours 
    95       ztimemax2 = ((6.*30.)+21.)* 24.                      ! 21th july     at 24h in hours 
    96       ztimemin2 = ztimemax2 - rjjhh * zyydd / 2            ! 21th january         in hours 
    97       !                                                    ! NB: rjjhh * zyydd / 4 = one seasonal cycle in hours 
    98  
    99       ! amplitudes 
    100       zemp_S    = 0.7       ! intensity of COS in the South 
    101       zemp_N    = 0.8       ! intensity of COS in the North 
    102       zemp_sais = 0.1 
    103       zTstar    = 28.3      ! intemsity from 28.3 a -5 deg 
    104  
    105       ! 1/2 period between 21th June and 21th December and between 21th July and 21th January 
    106       zcos_sais1 = COS( (ztime - ztimemax1) / (ztimemin1 - ztimemax1) * rpi )  
    107       zcos_sais2 = COS( (ztime - ztimemax2) / (ztimemax2 - ztimemin2) * rpi ) 
    108  
    109       ztrp= - 40.e0        ! retroaction term on heat fluxes (W/m2/K) 
    110       zconv = 3.16e-5      ! convertion factor: 1 m/yr => 3.16e-5 mm/s 
    111       DO jj = 1, jpj 
    112          DO ji = 1, jpi 
    113             ! domain from 15 deg to 50 deg between 27 and 28  degC at 15N, -3 
    114             ! and 13 degC at 50N 53.5 + or - 11 = 1/4 period : 
    115             ! 64.5 in summer, 42.5 in winter 
    116             t_star = zTstar * ( 1. + 1. / 50. * zcos_sais2 )                & 
    117                &                    * COS( rpi * (gphit(ji,jj) - 5.)               & 
    118                &                    / ( 53.5 * ( 1 + 11 / 53.5 * zcos_sais2 ) * 2.) ) 
    119             ! 23.5 deg : tropics 
    120             qsr (ji,jj) =  230 * COS( 3.1415 * ( gphit(ji,jj) - 23.5 * zcos_sais1 ) / ( 0.9 * 180 ) ) 
    121             qns (ji,jj) = ztrp * ( tsb(ji,jj,1,jp_tem) - t_star ) - qsr(ji,jj) 
    122             IF( gphit(ji,jj) >= 14.845 .AND. 37.2 >= gphit(ji,jj) ) THEN    ! zero at 37.8 deg, max at 24.6 deg 
    123                emp  (ji,jj) =   zemp_S * zconv   & 
    124                   &         * SIN( rpi / 2 * (gphit(ji,jj) - 37.2) / (24.6 - 37.2) )  & 
    125                   &         * ( 1 - zemp_sais / zemp_S * zcos_sais1) 
    126             ELSE 
    127                emp (ji,jj) =  - zemp_N * zconv   & 
    128                   &         * SIN( rpi / 2 * (gphit(ji,jj) - 37.2) / (46.8 - 37.2) )  & 
    129                   &         * ( 1 - zemp_sais / zemp_N * zcos_sais1 ) 
    130             ENDIF 
    131          END DO 
    132       END DO 
    133  
    134       zsumemp = GLOB_SUM( 'usrdef_sbc', emp  (:,:)   )  
    135       zsurf   = GLOB_SUM( 'usrdef_sbc', tmask(:,:,1) )  
    136       zsumemp = zsumemp / zsurf         ! Default GYRE configuration 
    13758 
    13859      ! freshwater (mass flux) and update of qns with heat content of emp 
    139       emp (:,:) = emp(:,:) - zsumemp * tmask(:,:,1)        ! freshwater flux (=0 in domain average) 
    140       sfx (:,:) = 0.0_wp                                   ! no salt flux 
    141       qns (:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp   ! evap and precip are at SST 
    142  
     60      emp (:,:) = 0.0_wp        ! freshwater flux 
     61      sfx (:,:) = 0.0_wp        ! no salt flux 
     62      qns (:,:) = 0.0_wp        ! non solar heat flux 
     63      qsr (:,:) = 0.0_wp        ! solar heat flux 
     64       
    14365 
    14466      ! ---------------------------- ! 
    14567      !       momentum fluxes        ! 
    14668      ! ---------------------------- ! 
    147       ! same wind as in Wico 
    148       !test date0 : ndate0 = 010203 
    149       zyear0  =   ndate0 / 10000 
    150       zmonth0 = ( ndate0 - zyear0 * 10000 ) / 100 
    151       zday0   =   ndate0 - zyear0 * 10000 - zmonth0 * 100 
    152       !Calculates nday_year, day since january 1st 
    153       zday_year0 = (zmonth0-1)*30.+zday0 
    154  
    155       !accumulates days of previous months of this year 
    156       ! day (in hours) since january the 1st 
    157       ztime = FLOAT( kt ) * rdt / (rmmss * rhhmm)  &  ! incrementation in hour 
    158          &     - (nyear - 1) * rjjhh * zyydd          !  - nber of hours the precedent years 
    159       ztimemax = ((5.*30.)+21.)* 24.               ! 21th june     in hours 
    160       ztimemin = ztimemax + rjjhh * zyydd / 2      ! 21th december in hours 
    161       !                                            ! NB: rjjhh * zyydd / 4 = 1 seasonal cycle in hours 
    162  
    163       ! mean intensity at 0.105 ; srqt(2) because projected with 45deg angle 
    164       ztau = 0.105 / SQRT( 2. ) 
    165       ! seasonal oscillation intensity 
    166       ztau_sais = 0.015 
    167       ztaun = ztau - ztau_sais * COS( (ztime - ztimemax) / (ztimemin - ztimemax) * rpi ) 
    168       DO jj = 1, jpj 
    169          DO ji = 1, jpi 
    170            ! domain from 15deg to 50deg and 1/2 period along 14deg 
    171            ! so 5/4 of half period with seasonal cycle 
    172            utau(ji,jj) = - ztaun * SIN( rpi * (gphiu(ji,jj) - 15.) / (29.-15.) ) 
    173            vtau(ji,jj) =   ztaun * SIN( rpi * (gphiv(ji,jj) - 15.) / (29.-15.) ) 
    174          END DO 
    175       END DO 
    176  
    177       ! module of wind stress and wind speed at T-point 
    178       zcoef = 1. / ( zrhoa * zcdrag )  
    179       DO jj = 2, jpjm1 
    180          DO ji = fs_2, fs_jpim1   ! vect. opt. 
    181             ztx = utau(ji-1,jj  ) + utau(ji,jj)  
    182             zty = vtau(ji  ,jj-1) + vtau(ji,jj)  
    183             zmod = 0.5 * SQRT( ztx * ztx + zty * zty ) 
    184             taum(ji,jj) = zmod 
    185             wndm(ji,jj) = SQRT( zmod * zcoef ) 
    186          END DO 
    187       END DO 
     69      utau(:,:) = 0.0_wp 
     70      vtau(:,:) = 0.0_wp 
     71      taum(:,:) = 0.0_wp 
     72      wndm(:,:) = 0.0_wp 
    18873      CALL lbc_lnk_multi( 'usrdef_sbc', taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. ) 
    18974 
     
    19378      IF( kt == nit000 .AND. lwp ) THEN  
    19479         WRITE(numout,*) 
    195          WRITE(numout,*)'usrdef_sbc_oce : analytical surface fluxes for GYRE configuration'                
     80         WRITE(numout,*)'usrdef_sbc_oce : all surface fluxes set to 0'                
    19681         WRITE(numout,*)'~~~~~~~~~~~ '  
    197          WRITE(numout,*)'           nyear      = ', nyear 
    198          WRITE(numout,*)'           nmonth     = ', nmonth 
    199          WRITE(numout,*)'           nday       = ', nday 
    200          WRITE(numout,*)'           nday_year  = ', nday_year 
    201          WRITE(numout,*)'           ztime      = ', ztime 
    202          WRITE(numout,*)'           ztimemax   = ', ztimemax 
    203          WRITE(numout,*)'           ztimemin   = ', ztimemin 
    204          WRITE(numout,*)'           ztimemax1  = ', ztimemax1 
    205          WRITE(numout,*)'           ztimemin1  = ', ztimemin1 
    206          WRITE(numout,*)'           ztimemax2  = ', ztimemax2 
    207          WRITE(numout,*)'           ztimemin2  = ', ztimemin2 
    208          WRITE(numout,*)'           zyear0     = ', zyear0 
    209          WRITE(numout,*)'           zmonth0    = ', zmonth0 
    210          WRITE(numout,*)'           zday0      = ', zday0 
    211          WRITE(numout,*)'           zday_year0 = ', zday_year0 
    212          WRITE(numout,*)'           zyydd      = ', zyydd 
    213          WRITE(numout,*)'           zemp_S     = ', zemp_S 
    214          WRITE(numout,*)'           zemp_N     = ', zemp_N 
    215          WRITE(numout,*)'           zemp_sais  = ', zemp_sais 
    216          WRITE(numout,*)'           zTstar     = ', zTstar 
    217          WRITE(numout,*)'           zsumemp    = ', zsumemp 
    218          WRITE(numout,*)'           zsurf      = ', zsurf 
    219          WRITE(numout,*)'           ztrp       = ', ztrp 
    220          WRITE(numout,*)'           zconv      = ', zconv 
    221          WRITE(numout,*)'           ndastp     = ', ndastp 
    222          WRITE(numout,*)'           adatrj     = ', adatrj 
     82 
    22383      ENDIF 
    22484      ! 
Note: See TracChangeset for help on using the changeset viewer.