Ignore:
Timestamp:
Nov 26, 2021, 8:27:26 AM (3 years ago)
Author:
lguez
Message:

Send 3 more fields to the ocean

Send 3 more fields to the ocean to compute CO2 flux at
ocean-atmosphere interface. The three fields are dter and dser, which
already existed, and a newly created field: dt_ds. So dter and dser
have to become state variables. The variable dt_ds of module
phys_state_var_mod is only allocated and defined if
activate_ocean_skin == 2 and type_ocean == "couple".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin/libf/phylmd/pbl_surface_mod.F90

    r4013 r4020  
    313313    USE print_control_mod,  ONLY : prt_level,lunout
    314314    USE ioipsl_getin_p_mod, ONLY : getin_p
    315     use phys_state_var_mod, only: ds_ns, dt_ns, delta_sst, delta_sal, zsig, zmea
    316     use phys_output_var_mod, only: dter, dser, tkt, tks, taur, sss
     315    use phys_state_var_mod, only: ds_ns, dt_ns, delta_sst, delta_sal, dter, &
     316         dser, dt_ds, zsig, zmea
     317    use phys_output_var_mod, only: tkt, tks, taur, sss
    317318#ifdef CPP_XIOS
    318319    USE wxios, ONLY: missing_val
     
    875876    ! Martin
    876877
    877     REAL, DIMENSION(klon):: ydelta_sst, ydelta_sal, yds_ns, ydt_ns, ydter, ydser, &
    878          ytkt, ytks, ytaur, ysss
    879     ! compression of delta_sst, delta_sal, ds_ns, dt_ns, dter, dser, tkt, tks,
    880     ! taur, sss on ocean points
     878    REAL, DIMENSION(klon):: ydelta_sst, ydelta_sal, yds_ns, ydt_ns, ydter, &
     879         ydser, ydt_ds, ytkt, ytks, ytaur, ysss
     880    ! compression of delta_sst, delta_sal, ds_ns, dt_ns, dter, dser,
     881    ! dt_ds, tkt, tks, taur, sss on ocean points
    881882
    882883!****************************************************************************************
     
    15331534             ydelta_sal(:knon) = delta_sal(ni(:knon))
    15341535             ydelta_sst(:knon) = delta_sst(ni(:knon))
     1536             ydter(:knon) = dter(ni(:knon))
     1537             ydser(:knon) = dser(ni(:knon))
     1538             ydt_ds(:knon) = dt_ds(ni(:knon))
    15351539          end if
    15361540         
     
    21082112               y_flux_u1, y_flux_v1, ydelta_sst(:knon), ydelta_sal(:knon), &
    21092113               yds_ns(:knon), ydt_ns(:knon), ydter(:knon), ydser(:knon), &
    2110                ytkt(:knon), ytks(:knon), ytaur(:knon), ysss)
     2114               ydt_ds(:knon), ytkt(:knon), ytks(:knon), ytaur(:knon), ysss)
    21112115      IF (prt_level >=10) THEN
    21122116          print *,'arg de surf_ocean: ycdragh ',ycdragh
     
    28552859          taur(ni(:knon)) = ytaur(:knon)
    28562860          sss(ni(:knon)) = ysss(:knon)
     2861
     2862          if (activate_ocean_skin == 2 .and. type_ocean == "couple") then
     2863             dt_ds = missing_val
     2864             dt_ds(ni(:knon)) = ydt_ds(:knon)
     2865          end if
    28572866       end if
    28582867
     
    35223531
    35233532    USE indice_sol_mod
    3524     use phys_state_var_mod, only: delta_sal, ds_ns, dt_ns, delta_sst
     3533    use phys_state_var_mod, only: delta_sal, ds_ns, dt_ns, delta_sst, dter, &
     3534         dser, dt_ds
    35253535    use config_ocean_skin_m, only: activate_ocean_skin
    35263536
     
    36153625                         delta_sal(i) = 0.
    36163626                         delta_sst(i) = 0.
     3627                         dter(i) = 0.
     3628                         dser(i) = 0.
     3629                         dt_ds(i) = 0.
    36173630                      end if
    36183631                     
Note: See TracChangeset for help on using the changeset viewer.