/[lmdze]/trunk/dyn3d/Guide/Read_reanalyse/nat2gcm.f
ViewVC logotype

Contents of /trunk/dyn3d/Guide/Read_reanalyse/nat2gcm.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 173 - (show annotations)
Tue Oct 6 15:57:02 2015 UTC (8 years, 9 months ago) by guez
Original Path: trunk/Sources/dyn3d/Guide/Read_reanalyse/nat2gcm.f
File size: 1435 byte(s)
correctbid did nothing. (Not used either in LMDZ since revision 1170.)

Avoid aliasing in arguments of nat2gcm: use a single set of arguments
with intent inout. Argument q of nat2gcm was not used.

pres2lev now accepts po in any monotonic order. So the input files for
nudging can now have the pressure coordinate in any order. Also, we
read the latitude coordinate from the input files for nudging and we
invert order if necessary so the input files for nudging can now have
the latitude coordinate in any order.

In pre2lev, no need for lmomx: use automatic arrays.

Removed variable ncep of module conf_guide_m. Instead, we find out
what the pressure coordinate is with find_coord.


1 module nat2gcm_m
2
3 implicit none
4
5 contains
6
7 subroutine nat2gcm(pk, u, v, t)
8
9 ! Passage aux variables du mod\`ele (vents covariants,
10 ! temp\'erature potentielle et humidit\'e sp\'ecifique).
11
12 use comconst, only: cpp, kappa
13 use comgeom, only: cu_2d, cv_2d
14 use dimens_m, only: iim, jjm, llm
15 use disvert_m, only: preff
16 use paramet_m, only: iip1, jjp1
17
18 real, intent(in):: pk(iip1, jjp1, llm)
19 real, intent(inout):: u(iip1, jjp1, llm), v(iip1, jjm, llm)
20 real, intent(inout):: t(iip1, jjp1, llm)
21
22 ! Local:
23 integer i, j, l
24
25 !----------------------------------------------------------------------
26
27 print *, "Call sequence information: nat2gcm"
28
29 ! calcul de ucov et de la temperature potentielle
30 do l = 1, llm
31 do j = 1, jjp1
32 do i = 1, iim
33 u(i, j, l) = u(i, j, l) * cu_2d(i, j)
34 t(i, j, l) = t(i, j, l) * cpp / pk(i, j, l)
35 enddo
36 u(iip1, j, l) = u(1, j, l)
37 t(iip1, j, l) = t(1, j, l)
38 enddo
39 do i = 1, iip1
40 u(i, 1, l) = 0.
41 u(i, jjp1, l) = 0.
42 t(i, 1, l) = t(1, 1, l)
43 t(i, jjp1, l) = t(1, jjp1, l)
44 enddo
45 enddo
46
47 do l = 1, llm
48 do j = 1, jjm
49 do i = 1, iim
50 v(i, j, l) = v(i, j, l) * cv_2d(i, j)
51 enddo
52 v(iip1, j, l) = v(1, j, l)
53 enddo
54 enddo
55
56 end subroutine nat2gcm
57
58 end module nat2gcm_m

  ViewVC Help
Powered by ViewVC 1.1.21