1 SUBROUTINE cv3a_compress(len, nloc, ncum, nd, ntra, compress, &
 
    2                          iflag1, nk1, icb1, icbs1, &
 
    3                          plcl1, tnk1, qnk1, gznk1, hnk1, unk1, vnk1, &
 
    4                          wghti1, pbase1, buoybase1, &
 
    5                          t1, q1, qs1, t1_wake, q1_wake, qs1_wake, s1_wake, &
 
    6                          u1, v1, gz1, th1, th1_wake, &
 
    8                          h1, lv1, lf1, cpn1, p1, ph1, tv1, tp1, tvp1, clw1, &
 
    9                          h1_wake, lv1_wake, lf1_wake, cpn1_wake, tv1_wake, &
 
   12                          iflag, nk, icb, icbs, &
 
   13                          plcl, tnk, qnk, gznk, hnk, unk, vnk, &
 
   14                          wghti, pbase, buoybase, &
 
   15                          t, q, qs, t_wake, q_wake, qs_wake, s_wake, &
 
   16                          u, v, gz, th, th_wake, &
 
   18                          h, lv, lf, cpn, p, ph, tv, tp, tvp, clw, &
 
   19                          h_wake, lv_wake, lf_wake, cpn_wake, tv_wake, &
 
   36   INTEGER, 
INTENT (IN)                               :: len, nloc, nd, ntra
 
   38   LOGICAL, 
INTENT (IN)                               :: compress  
 
   40   INTEGER, 
DIMENSION (len), 
INTENT (IN)              :: iflag1, nk1, icb1, icbs1
 
   41   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: plcl1, tnk1, qnk1, gznk1
 
   42   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: hnk1, unk1, vnk1
 
   43   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: wghti1(len, nd)
 
   44   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: pbase1, buoybase1
 
   45   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: t1, q1, qs1
 
   46   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: t1_wake, q1_wake, qs1_wake
 
   47   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: s1_wake
 
   48   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: u1, v1
 
   49   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: gz1, th1, th1_wake
 
   50   REAL, 
DIMENSION (len, nd,ntra), 
INTENT (IN)        :: tra1
 
   51   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: h1, lv1, lf1, cpn1
 
   52   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: p1
 
   53   REAL, 
DIMENSION (len, nd+1), 
INTENT (IN)           :: ph1(len, nd+1)
 
   54   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: tv1, tp1
 
   55   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: tvp1, clw1
 
   56   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: h1_wake, lv1_wake, cpn1_wake
 
   57   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: tv1_wake, lf1_wake
 
   58   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: sig1, w01
 
   59   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: ptop21
 
   60   REAL, 
DIMENSION (len), 
INTENT (IN)                 :: Ale1, Alp1
 
   61   REAL, 
DIMENSION (len, nd), 
INTENT (IN)             :: omega1
 
   64   INTEGER, 
INTENT (INOUT)                            :: ncum
 
   68   INTEGER, 
DIMENSION (nloc), 
INTENT (OUT)            ::  iflag, nk, icb, icbs
 
   69   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  plcl, tnk, qnk, gznk
 
   70   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  hnk, unk, vnk
 
   71   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  wghti
 
   72   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  pbase, buoybase
 
   73   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  t, q, qs
 
   74   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  t_wake, q_wake, qs_wake
 
   75   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  s_wake
 
   76   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  u, v
 
   77   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  gz, th, th_wake
 
   78   REAL, 
DIMENSION (nloc, nd,ntra), 
INTENT (OUT)      ::  tra
 
   79   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  h, lv, lf, cpn
 
   80   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  p
 
   81   REAL, 
DIMENSION (nloc, nd+1), 
INTENT (OUT)         ::  ph
 
   82   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  tv, tp
 
   83   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  tvp, clw
 
   84   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  h_wake, lv_wake, cpn_wake
 
   85   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  tv_wake, lf_wake
 
   86   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  sig, w0
 
   87   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  ptop2
 
   88   REAL, 
DIMENSION (nloc), 
INTENT (OUT)               ::  Ale, Alp
 
   89   REAL, 
DIMENSION (nloc, nd), 
INTENT (OUT)           ::  omega
 
   94   CHARACTER (LEN=20) :: modname = 
'cv3a_compress' 
   95   CHARACTER (LEN=80) :: abort_message
 
  104       IF (iflag1(i)==0) 
THEN 
  106         wghti(nn, k) = wghti1(i, k)
 
  109         qs(nn, k) = qs1(i, k)
 
  110         t_wake(nn, k) = t1_wake(i, k)
 
  111         q_wake(nn, k) = q1_wake(i, k)
 
  112         qs_wake(nn, k) = qs1_wake(i, k)
 
  115         gz(nn, k) = gz1(i, k)
 
  116         th(nn, k) = th1(i, k)
 
  117         th_wake(nn, k) = th1_wake(i, k)
 
  119         lv(nn, k) = lv1(i, k)
 
  120         lf(nn, k) = lf1(i, k)
 
  121         cpn(nn, k) = cpn1(i, k)
 
  123         ph(nn, k) = ph1(i, k)
 
  124         tv(nn, k) = tv1(i, k)
 
  125         tp(nn, k) = tp1(i, k)
 
  126         tvp(nn, k) = tvp1(i, k)
 
  127         clw(nn, k) = clw1(i, k)
 
  128         h_wake(nn, k) = h1_wake(i, k)
 
  129         lv_wake(nn, k) = lv1_wake(i, k)
 
  130         lf_wake(nn, k) = lf1_wake(i, k)
 
  131         cpn_wake(nn, k) = cpn1_wake(i, k)
 
  132         tv_wake(nn, k) = tv1_wake(i, k)
 
  133         sig(nn, k) = sig1(i, k)
 
  134         w0(nn, k) = w01(i, k)
 
  135         omega(nn, k) = omega1(i, k)
 
  154     print *, 
'WARNING nn not equal to ncum: ', nn, ncum
 
  161     IF (iflag1(i)==0) 
THEN 
  163       s_wake(nn) = s1_wake(i)
 
  164       iflag(nn) = iflag1(i)
 
  175       pbase(nn) = pbase1(i)
 
  176       buoybase(nn) = buoybase1(i)
 
  177       sig(nn, nd) = sig1(i, nd)
 
  185     print *, 
'WARNING nn not equal to ncum: ', nn, ncum
 
  195       wghti(:,1:
nl+1) = wghti1(:,1:
nl+1)
 
  196       t(:,1:
nl+1) = t1(:,1:
nl+1)
 
  197       q(:,1:
nl+1) = q1(:,1:
nl+1)
 
  198       qs(:,1:
nl+1) = qs1(:,1:
nl+1)
 
  199       t_wake(:,1:
nl+1) = t1_wake(:,1:
nl+1)
 
  200       q_wake(:,1:
nl+1) = q1_wake(:,1:
nl+1)
 
  201       qs_wake(:,1:
nl+1) = qs1_wake(:,1:
nl+1)
 
  202       u(:,1:
nl+1) = u1(:,1:
nl+1)
 
  203       v(:,1:
nl+1) = v1(:,1:
nl+1)
 
  204       gz(:,1:
nl+1) = gz1(:,1:
nl+1)
 
  205       th(:,1:
nl+1) = th1(:,1:
nl+1)
 
  206       th_wake(:,1:
nl+1) = th1_wake(:,1:
nl+1)
 
  207       h(:,1:
nl+1) = h1(:,1:
nl+1)
 
  208       lv(:,1:
nl+1) = lv1(:,1:
nl+1)
 
  209       lf(:,1:
nl+1) = lf1(:,1:
nl+1)
 
  210       cpn(:,1:
nl+1) = cpn1(:,1:
nl+1)
 
  211       p(:,1:
nl+1) = p1(:,1:
nl+1)
 
  212       ph(:,1:
nl+1) = ph1(:,1:
nl+1)
 
  213       tv(:,1:
nl+1) = tv1(:,1:
nl+1)
 
  214       tp(:,1:
nl+1) = tp1(:,1:
nl+1)
 
  215       tvp(:,1:
nl+1) = tvp1(:,1:
nl+1)
 
  216       clw(:,1:
nl+1) = clw1(:,1:
nl+1)
 
  217       h_wake(:,1:
nl+1) = h1_wake(:,1:
nl+1)
 
  218       lv_wake(:,1:
nl+1) = lv1_wake(:,1:
nl+1)
 
  219       lf_wake(:,1:
nl+1) = lf1_wake(:,1:
nl+1)
 
  220       cpn_wake(:,1:
nl+1) = cpn1_wake(:,1:
nl+1)
 
  221       tv_wake(:,1:
nl+1) = tv1_wake(:,1:
nl+1)
 
  222       sig(:,1:
nl+1) = sig1(:,1:
nl+1)
 
  223       w0(:,1:
nl+1) = w01(:,1:
nl+1)
 
  224       omega(:,1:
nl+1) = omega1(:,1:
nl+1)
 
  226       s_wake(:) = s1_wake(:)
 
  239       buoybase(:) = buoybase1(:)
 
  240       sig(:, nd) = sig1(:, nd)
 
subroutine cv3a_compress(len, nloc, ncum, nd, ntra, compress, iflag1, nk1, icb1, icbs1, plcl1, tnk1, qnk1, gznk1, hnk1, unk1, vnk1, wghti1, pbase1, buoybase1, t1, q1, qs1, t1_wake, q1_wake, qs1_wake, s1_wake, u1, v1, gz1, th1, th1_wake, tra1, h1, lv1, lf1, cpn1, p1, ph1, tv1, tp1, tvp1, clw1, h1_wake, lv1_wake, lf1_wake, cpn1_wake, tv1_wake, sig1, w01, ptop21, Ale1, Alp1, omega1, iflag, nk, icb, icbs, plcl, tnk, qnk, gznk, hnk, unk, vnk, wghti, pbase, buoybase, t, q, qs, t_wake, q_wake, qs_wake, s_wake, u, v, gz, th, th_wake, tra, h, lv, lf, cpn, p, ph, tv, tp, tvp, clw, h_wake, lv_wake, lf_wake, cpn_wake, tv_wake, sig, w0, ptop2, Ale, Alp, omega)
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm u(l)
 
subroutine abort_physic(modname, message, ierr)