Ignore:
Timestamp:
Jan 2, 2019, 7:44:20 PM (5 years ago)
Author:
lguez
Message:

Create subdirectory Ocean_skin in libf. For now, Ocean_skin is under
control of git, not subversion.

Add variable eps_w to common YOMCST.

For now, continue to read ocean skin parameters from a namelist in
config_ocean_skin.

The parameterisation is called from procedure surf_ocean.

Add two prognostic variables for the parameterisation: dt_ns and
ds_ns. Add eight diagnostic variables: t_int, s_int, dter, dser, tkt,
tks, rf, taur. The ten variables are only defined on ocean surface,
elsewhere they are set to nf90_fill_real. In pbl_surface, we can
initialize the eight diagnostic variables to nf90_fill_real before the
loop on sub-surfaces, but we need to keep the old values of dt_ns and
ds_ns as input of the parameterisation so we set dt_ns and ds_ns to
nf90_fill_real after the call to surf_ocean. Define ten corresponding
compressed variables in pbl_surface. Define ten corresponding NetCDF
output variables in phys_output_ctrlout_mod.

In procedure pbl_surface_newfrac, for an appearing ocean sub-surface,
dt_ns and ds_ns are set to 0. In phyetat0, also set initial dt_ns and
ds_ns to 0 if they are not in start file.

In procedure surf_ocean, for now, we use a constant specific latent
heat of vaporization, as elsewhere in LMDZ, and a constant bulk
salinity.

Location:
LMDZ6/branches/Ocean_skin
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin/bld.cfg

    r3045 r3429  
    3737src::cosp    %COSP
    3838src::ext_src %EXT_SRC
     39src::ocean_skin %SRC_PATH/phylmd/Ocean_skin
    3940
    4041bld::lib            lmdz
     
    4748dir::root            %CONFIG_PATH
    4849#dir::lib             %BASE_CONFIG_PATH
    49 dir::bin             %ROOT_PATH/bin
     50dir::bin             %LIBO
    5051
    5152#search_src           1
  • LMDZ6/branches/Ocean_skin/libf/phylmd/YOMCST.h

    r3394 r3429  
    2121! A1.4 Thermodynamic gas phase
    2222      REAL R,RMD,RMO3,RMCO2,RMC,RMV,RD,RV,RCPD,RCPV,RCVD,RCVV
    23       REAL RKAPPA,RETV
     23      REAL RKAPPA,RETV, eps_w
    2424! A1.5,6 Thermodynamic liquid,solid phases
    2525      REAL RCW,RCS
     
    3636     &      ,RSIGMA                                                     &
    3737     &      ,R     ,RMD   ,RMO3  ,RMCO2, RMC, RMV   ,RD    ,RV    ,RCPD &
    38      &      ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV                           &
     38     &      ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV, eps_w                    &
    3939     &      ,RCW   ,RCS                                                 &
    4040     &      ,RLVTT ,RLSTT ,RLMLT ,RTT   ,RATM                           &
  • LMDZ6/branches/Ocean_skin/libf/phylmd/conf_phys_m.F90

    r3420 r3429  
    2929    USE mod_grid_phy_lmdz, ONLY: klon_glo
    3030    USE print_control_mod, ONLY: lunout
     31    use config_ocean_skin_m, only: config_ocean_skin
    3132
    3233    INCLUDE "conema3.h"
     
    21702171    CALL getin('level_coupling_esm',level_coupling_esm_omp)
    21712172    ! << PC
     2173
     2174    call config_ocean_skin
    21722175
    21732176    !$OMP END MASTER
  • LMDZ6/branches/Ocean_skin/libf/phylmd/pbl_surface_mod.F90

    r3402 r3429  
    290290    USE print_control_mod,  ONLY : prt_level,lunout
    291291    USE ioipsl_getin_p_mod, ONLY : getin_p
     292    use phys_state_var_mod, only: ds_ns, dt_ns
     293    use phys_output_var_mod, only: t_int, s_int, dter, dser, tkt, tks, rf, taur
     294    use netcdf, only: nf90_fill_real
    292295
    293296    IMPLICIT NONE
     
    821824    ! Martin
    822825
     826    real, DIMENSION(klon):: yt_int, ys_int, yds_ns, ydt_ns, ydter, ydser, &
     827         ytkt, ytks, yrf, ytaur
     828    ! compression of t_int, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, rf,
     829    ! taur on ocean points
     830
    823831!****************************************************************************************
    824832! End of declarations
     
    954962!!! jyg le 10/02/2012
    955963    rh2m_x(:) = 0. ; qsat2m_x(:) = 0. ; rh2m_w(:) = 0. ; qsat2m_w(:) = 0.
    956 !!!
     964
     965    t_int = nf90_fill_real
     966    s_int = nf90_fill_real
     967    dter = nf90_fill_real
     968    dser = nf90_fill_real
     969    tkt = nf90_fill_real
     970    tks = nf90_fill_real
     971    rf = nf90_fill_real
     972    taur = nf90_fill_real
    957973
    958974! 2b) Initialization of all local variables that will be compressed later
     
    14141430          ENDDO
    14151431       ENDIF
     1432
     1433       if (nsrf == is_oce) then
     1434          yds_ns(:knon) = ds_ns(ni(:knon))
     1435          ydt_ns(:knon) = dt_ns(ni(:knon))
     1436       end if
    14161437       
    14171438!****************************************************************************************
     
    19341955               yz0m, yz0h, SFRWL,yalb_dir_new, yalb_dif_new, yevap, yfluxsens,yfluxlat,&
    19351956               ytsurf_new, y_dflux_t, y_dflux_q, slab_wfbils, &
    1936                y_flux_u1, y_flux_v1)
     1957               y_flux_u1, y_flux_v1, yt_int(:knon), ys_int(:knon), &
     1958               yds_ns(:knon), ydt_ns(:knon), ydter(:knon), ydser(:knon), &
     1959               ytkt(:knon), ytks(:knon), yrf(:knon), ytaur(:knon))
    19371960      IF (prt_level >=10) THEN
    19381961          print *,'arg de surf_ocean: ycdragh ',ycdragh
     
    25382561       ENDIF
    25392562
     2563       if (nsrf == is_oce) then
     2564          dt_ns = nf90_fill_real
     2565          ds_ns = nf90_fill_real
     2566          ds_ns(ni(:knon)) = yds_ns(:knon)
     2567          dt_ns(ni(:knon)) = ydt_ns(:knon)
     2568
     2569          t_int(ni(:knon)) = yt_int(:knon)
     2570          s_int(ni(:knon)) = ys_int(:knon)
     2571          dter(ni(:knon)) = ydter(:knon)
     2572          dser(ni(:knon)) = ydser(:knon)
     2573          tkt(ni(:knon)) = ytkt(:knon)
     2574          tks(ni(:knon)) = ytks(:knon)
     2575          rf(ni(:knon)) = yrf(:knon)
     2576          taur(ni(:knon)) = ytaur(:knon)
     2577       end if
     2578
    25402579!****************************************************************************************
    25412580! 14) Calculate the temperature and relative humidity at 2m and the wind at 10m
     
    31413180
    31423181!albedo SB >>>
    3143 SUBROUTINE pbl_surface_newfrac(itime, pctsrf_new, pctsrf_old, &
    3144      evap, z0m, z0h, agesno,                                  &
    3145      tsurf,alb_dir,alb_dif, ustar, u10m, v10m, tke) 
    3146 !albedo SB <<<
     3182  SUBROUTINE pbl_surface_newfrac(itime, pctsrf_new, pctsrf_old, &
     3183       evap, z0m, z0h, agesno,                                  &
     3184       tsurf,alb_dir,alb_dif, ustar, u10m, v10m, tke) 
     3185    !albedo SB <<<
    31473186    ! Give default values where new fraction has appread
    31483187
    31493188    USE indice_sol_mod
     3189    use phys_state_var_mod, only: ds_ns, dt_ns
    31503190
    31513191    INCLUDE "dimsoil.h"
     
    32343274                      alb_dif(i,k,nsrf) = 0.06
    32353275                   ENDDO
     3276                   ds_ns(i) = 0.
     3277                   dt_ns(i) = 0.
    32363278                ELSE IF (nsrf.EQ.is_sic) THEN
    32373279                   tsurf(i,nsrf) = 271.35
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phyetat0.F90

    r3422 r3429  
    1919       wake_s, wake_dens, zgam, zmax0, zmea, zpic, zsig, &
    2020       zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl, u10m, v10m, treedrg, &
    21        ale_wake, ale_bl_stat
     21       ale_wake, ale_bl_stat, ds_ns, dt_ns
    2222!FC
    2323  USE geometry_mod, ONLY : longitude_deg, latitude_deg
     
    2929  USE ocean_slab_mod, ONLY: nslay, tslab, seaice, tice, ocean_slab_init
    3030  USE time_phylmdz_mod, ONLY: init_iteration, pdtphys, itau_phy
     31  use netcdf, only: nf90_fill_real
    3132
    3233  IMPLICIT none
     
    3536  ! Objet: Lecture de l'etat initial pour la physique
    3637  !======================================================================
    37   include "netcdf.inc"
    3838  include "dimsoil.h"
    3939  include "clesphys.h"
     
    529529  CALL fonte_neige_init(run_off_lic_0)
    530530
     531  found = phyetat0_get(1, ds_ns, "ds_ns", "delta salinity near surface", 0.)
     532  found = phyetat0_get(1, dt_ns, "dT_ns", "delta temperature near surface", 0.)
     533
     534  where (pctsrf(:, is_oce) == 0.)
     535     ds_ns = nf90_fill_real
     536     dt_ns = nf90_fill_real
     537  end where
     538
    531539END SUBROUTINE phyetat0
    532540
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phyredem.F90

    r3317 r3429  
    2727                                ale_wake, ale_bl_stat,                       &
    2828                                du_gwd_rando, du_gwd_front, u10m, v10m,      &
    29                                 treedrg
     29                                treedrg, ds_ns, dt_ns
    3030  USE geometry_mod, ONLY : longitude_deg, latitude_deg
    3131  USE iostart, ONLY: open_restartphy, close_restartphy, put_field, put_var
     
    337337       "tendency on zonal wind due to acama gravity waves", du_gwd_front)
    338338
     339  CALL put_field("ds_ns", "delta salinity near surface", ds_ns)
     340  CALL put_field("dT_ns", "delta temperature near surface", dT_ns)
     341 
    339342  CALL close_restartphy
    340343  !$OMP BARRIER
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_ctrlout_mod.F90

    r3332 r3429  
    19131913#endif
    19141914
     1915   type(ctrl_out), save:: o_t_int &
     1916        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'T_int', &
     1917        "ocean-air interface temperature", "K", '')
     1918
     1919   type(ctrl_out), save:: o_s_int &
     1920        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'S_int', &
     1921        "ocean-air interface salinity", "ppt", '')
     1922
     1923   type(ctrl_out), save:: o_ds_ns &
     1924        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'ds_ns', &
     1925        "delta salinity near surface", "ppt", '')
     1926
     1927   type(ctrl_out), save:: o_dt_ns &
     1928        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dT_ns', &
     1929        "delta temperature near surface", "K", '')
     1930
     1931   type(ctrl_out), save:: o_dter &
     1932        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dTer', &
     1933        "temperature variation in the diffusive microlayer", "K", '')
     1934
     1935   type(ctrl_out), save:: o_dser &
     1936        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dser', &
     1937        "salinity variation in the diffusive microlayer", "ppt", '')
     1938
     1939   type(ctrl_out), save:: o_tkt &
     1940        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tkt', &
     1941        "thickness of thermal microlayer", "m", '')
     1942
     1943   type(ctrl_out), save:: o_tks &
     1944        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tks', &
     1945        "thickness os salinity microlayer", "m", '')
     1946
     1947   type(ctrl_out), save:: o_rf &
     1948        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'rf', &
     1949        "sensible heat flux at the surface due to rainfall", "W m-2", '')
     1950
     1951   type(ctrl_out), save:: o_taur &
     1952        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'taur', &
     1953        "momentum flux due to rain", "Pa", '')
     1954
    19151955END MODULE phys_output_ctrlout_mod
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_var_mod.F90

    r3149 r3429  
    133133 !$OMP THREADPRIVATE(sens_prec_liq_o, sens_prec_sol_o,lat_prec_liq_o,lat_prec_sol_o)
    134134
     135  ! Ocean-atmosphere interface, subskin ocean and near-surface ocean:
     136 
     137  REAL, ALLOCATABLE, SAVE:: t_int(:) ! interface temperature, in K
     138  REAL, ALLOCATABLE, SAVE:: s_int(:) ! interface salinity, in ppt
     139
     140  REAL, ALLOCATABLE, SAVE:: dter(:)
     141  ! Temperature variation in the diffusive microlayer, that is
     142  ! subskin temperature minus ocean-air interface temperature. In
     143  ! K.
     144     
     145  REAL, SAVE, ALLOCATABLE:: dser(:)
     146  ! Temperature variation in the diffusive microlayer, that is
     147  ! subskin temperature minus ocean-air interface temperature. In K.
     148
     149  REAL, SAVE, ALLOCATABLE:: tkt(:)
     150  ! épaisseur (m) de la couche de diffusion thermique (microlayer)
     151  ! cool skin thickness
     152
     153  REAL, SAVE, ALLOCATABLE:: tks(:)
     154  ! épaisseur (m) de la couche de diffusion de masse (microlayer)
     155 
     156  REAL, SAVE, ALLOCATABLE:: rf(:)
     157  ! sensible heat flux at the surface due to rainfall, in  W m-2
     158 
     159  REAL, SAVE, ALLOCATABLE:: taur(:)
     160  ! momentum flux due to rain, in Pa
     161 
     162  !$OMP THREADPRIVATE(t_int, s_int, dter, dser, tkt, tks, rf, taur)
     163
    135164CONTAINS
    136165
     
    191220    IF (ok_gwd_rando) allocate(zustr_gwd_rando(klon), zvstr_gwd_rando(klon))
    192221
     222    allocate(t_int(klon), s_int(klon), dter(klon), dser(klon), tkt(klon), &
     223         tks(klon), rf(klon), taur(klon))
     224
    193225  END SUBROUTINE phys_output_var_init
    194226
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_write_mod.F90

    r3381 r3429  
    196196! Tropopause
    197197         o_p_tropopause, o_z_tropopause, o_t_tropopause,  &
    198          o_col_O3_strato, o_col_O3_tropo               ! Added ThL
    199 
     198         o_col_O3_strato, o_col_O3_tropo, &               ! Added ThL
     199         o_t_int, o_s_int, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, o_tks, &
     200         o_rf, o_taur
    200201
    201202#ifdef CPP_StratAer
     
    240241         ulevSTD, vlevSTD, wlevSTD, philevSTD, qlevSTD, tlevSTD, &
    241242         rhlevSTD, O3STD, O3daySTD, uvSTD, vqSTD, vTSTD, wqSTD, &
    242          vphiSTD, wTSTD, u2STD, v2STD, T2STD, missing_val_nf90
     243         vphiSTD, wTSTD, u2STD, v2STD, T2STD, missing_val_nf90, ds_ns, dt_ns
    243244
    244245    USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, &
     
    348349         alt_tropo, &
    349350!Ionela
    350          ok_4xCO2atm
     351         ok_4xCO2atm, t_int, s_int, dter, dser, tkt, tks, rf, taur
    351352
    352353    USE ocean_slab_mod, ONLY: nslay, tslab, slab_bilg, tice, seaice, &
     
    21102111       ENDIF   !(iflag_phytrac==1)
    21112112
     2113       CALL histwrite_phy(o_t_int, t_int)
     2114       CALL histwrite_phy(o_s_int, s_int)
     2115       CALL histwrite_phy(o_ds_ns, ds_ns)
     2116       CALL histwrite_phy(o_dt_ns, dt_ns)
     2117       CALL histwrite_phy(o_dter, dter)
     2118       CALL histwrite_phy(o_dser, dser)
     2119       CALL histwrite_phy(o_tkt, tkt)
     2120       CALL histwrite_phy(o_tks, tks)
     2121       CALL histwrite_phy(o_rf, rf)
     2122       CALL histwrite_phy(o_taur, taur)
    21122123
    21132124       IF (.NOT.vars_defined) THEN
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_state_var_mod.F90

    r3208 r3429  
    417417      ! tendencies on wind due to gravity waves
    418418
    419 CONTAINS
     419      ! Ocean-atmosphere interface, subskin ocean and near-surface ocean:
     420     
     421      REAL, ALLOCATABLE, SAVE:: ds_ns(:)
     422      ! "delta salinity near surface". Salinity variation in the
     423      ! near-surface turbulent layer. That is subskin salinity minus
     424      ! foundation salinity. In ppt.
     425
     426      REAL, ALLOCATABLE, SAVE:: dt_ns(:)
     427      ! "delta temperature near surface". Temperature variation in the
     428      ! near-surface turbulent layer. That is subskin temperature
     429      ! minus foundation temperature. (Can be negative.) In K.
     430     
     431      !$OMP THREADPRIVATE(ds_ns, dt_ns)
     432
     433    CONTAINS
    420434
    421435!======================================================================
     
    607621      if (.not. ok_hines .and. ok_gwd_rando) allocate(du_gwd_front(klon, klev))
    608622
    609 END SUBROUTINE phys_state_var_init
     623      ALLOCATE(ds_ns(klon), dt_ns(klon))
     624
     625    END SUBROUTINE phys_state_var_init
    610626
    611627!======================================================================
  • LMDZ6/branches/Ocean_skin/libf/phylmd/suphel.F90

    r3394 r3429  
    127127  rcvv = rcpv - rv
    128128  rkappa = rd/rcpd
     129  eps_w = rmv / rmd
    129130  retv = rv/rd - 1.
    130131  WRITE (UNIT=6, FMT='('' *** Thermodynamic, gas     ***'')')
  • LMDZ6/branches/Ocean_skin/libf/phylmd/surf_ocean_mod.F90

    r3395 r3429  
    2020       z0m, z0h, SFRWL, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, &
    2121       tsurf_new, dflux_s, dflux_l, lmt_bils, &
    22        flux_u1, flux_v1)
     22       flux_u1, flux_v1, t_int, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, rf, &
     23       taur)
    2324
    2425    use albedo, only: alboc, alboc_cd
     26    use bulk_flux_m, only: bulk_flux
    2527    USE dimphy, ONLY: klon, zmasq
    2628    USE surface_data, ONLY     : type_ocean
     
    3032    USE indice_sol_mod, ONLY : nbsrf, is_oce
    3133    USE limit_read_mod
     34    use sens_heat_rain_m, only: sens_heat_rain
    3235    !
    3336    ! This subroutine will make a call to ocean_XXX_noice according to the ocean mode (force,
     
    5053    REAL, DIMENSION(klon), INTENT(IN)        :: lwnet  ! net longwave radiation at surface 
    5154    REAL, DIMENSION(klon), INTENT(IN)        :: alb1   ! albedo in visible SW interval
    52     REAL, DIMENSION(klon), INTENT(IN)        :: windsp
     55    REAL, DIMENSION(klon), INTENT(IN)        :: windsp ! wind at 10 m, in m s-1
    5356    REAL, DIMENSION(klon), INTENT(IN)        :: rmu0 
    5457    REAL, DIMENSION(klon), INTENT(IN)        :: fder
     
    7376    REAL, DIMENSION(klon), INTENT(inOUT):: z0h
    7477
     78    REAL, intent(inout):: ds_ns(:) ! (knon)
     79    ! "delta salinity near surface". Salinity variation in the
     80    ! near-surface turbulent layer. That is subskin salinity minus
     81    ! foundation salinity. In ppt.
     82
     83    REAL, intent(inout):: dt_ns(:) ! (knon)
     84    ! "delta temperature near surface". Temperature variation in the
     85    ! near-surface turbulent layer. That is subskin temperature
     86    ! minus foundation temperature. (Can be negative.) In K.
     87
    7588    ! Output variables
    7689    !******************************************************************************
     
    8396    !albedo SB <<<     
    8497    REAL, DIMENSION(klon), INTENT(OUT)       :: evap, fluxsens, fluxlat
    85     REAL, DIMENSION(klon), INTENT(OUT)       :: tsurf_new
     98    REAL, INTENT(OUT):: tsurf_new(klon) ! sea surface temperature, in K
    8699    REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l     
    87100    REAL, DIMENSION(klon), INTENT(OUT)       :: lmt_bils
    88101    REAL, DIMENSION(klon), INTENT(OUT)       :: flux_u1, flux_v1
     102
     103    REAL, intent(out):: t_int(:) ! (knon) interface temperature, in K
     104    real, intent(out):: s_int(:) ! (knon) interface salinity, in ppt
     105   
     106    REAL, intent(out):: dter(:) ! (knon)
     107    ! Temperature variation in the diffusive microlayer, that is
     108    ! subskin temperature minus ocean-air interface temperature. In
     109    ! K.
     110
     111    REAL, intent(out):: dser(:) ! (knon)
     112    ! Temperature variation in the diffusive microlayer, that is
     113    ! subskin temperature minus ocean-air interface temperature. In K.
     114
     115    REAL, intent(out):: tkt(:) ! (knon)
     116    ! épaisseur (m) de la couche de diffusion thermique (microlayer)
     117    ! cool skin thickness
     118
     119    REAL, intent(out):: tks(:) ! (knon)
     120    ! épaisseur (m) de la couche de diffusion de masse (microlayer)
     121
     122    REAL, intent(out):: rf(:) ! (knon)
     123    ! sensible heat flux at the surface due to rainfall, in  W m-2
     124
     125    REAL, intent(out):: taur(:) ! (knon)
     126    ! momentum flux due to rain, in Pa
    89127
    90128    ! Local variables
     
    97135    REAL, DIMENSION(klon) :: cdragq ! Cdrag pour l'evaporation
    98136    CHARACTER(len=20),PARAMETER :: modname="surf_ocean"
     137    real rhoa(knon) ! density of moist air  (kg / m3)
     138    real xlv(knon) ! chaleur latente d'évaporation (J / kg)
     139    real precip_tot(knon) ! rain + snow
     140    real S1(knon) ! salinity at depth_1, in ppt
    99141
    100142    ! End definition
     
    268310       CALL abort_physic(modname,'version non prevue',1)
    269311    ENDIF
    270     !
    271     !******************************************************************************
     312
     313    rhoa = PS(:KNON) / (Rd * temp_air(:knon) * (1. + retv * spechum(:knon)))
     314    xlv = rlvtt
     315    precip_tot = precip_rain(:knon) + precip_snow(:knon)
     316    rf =  sens_heat_rain(precip_tot, temp_air(:knon), spechum(:knon), rhoa, &
     317         xlv, tsurf_new(:knon), ps(:knon))
     318    s1 = 35.
     319    call bulk_flux(tkt, tks, taur, dter, dser, t_int, s_int, ds_ns, dt_ns, &
     320         windsp(:knon), tsurf_new(:knon), s1, precip_tot, - fluxsens(:knon), &
     321         - fluxlat(:knon), - lwnet(:knon), &
     322         sqrt(flux_u1(:knon)**2 + flux_v1(:knon)**2), rhoa, xlv, rf, dtime, &
     323         swnet(:knon))
     324
    272325  END SUBROUTINE surf_ocean
    273326  !******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.