/[lmdze]/trunk/dyn3d/nxgrad.f
ViewVC logotype

Contents of /trunk/dyn3d/nxgrad.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 266 - (show annotations)
Thu Apr 19 17:54:55 2018 UTC (6 years ago) by guez
File size: 1156 byte(s)
Define macros of the preprocessor CPP_IIM, CPP_JJM, CPP_LLM so we can
control the resolution from the compilation command, and automate
compilation for several resolutions.

In module yoethf_m, transform variables into named constants. So we do
not need procedure yoethf any longer.

Bug fix in program test_inter_barxy, missing calls to fyhyp and fxhyp,
and definition of rlatu.

Remove variable iecri of module conf_gcm_m. The files dyn_hist*.nc are
written every time step. We are simplifying the output system, pending
replacement by a whole new system.

Modify possible value of vert_sampling from "param" to
"strato_custom", following LMDZ. Default values of corresponding
namelist variables are now the values used for LMDZ CMIP6.

1 module nxgrad_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE nxgrad(klevel, rot, x, y)
8
9 ! From LMDZ4/libf/dyn3d/nxgrad.F, version 1.1.1.1, 2004/05/19 12:53:05
10 ! P. Le Van
11
12 ! calcul du gradient tourne de pi/2 du rotationnel du vect.v
13
14 ! rot est un argument d'entree pour le s-prog
15 ! x et y sont des arguments de sortie pour le s-prog
16
17 USE dimensions
18 USE paramet_m
19 USE comgeom
20
21 INTEGER, INTENT (IN) :: klevel
22 REAL rot(ip1jm, klevel), x(ip1jmp1, klevel), y(ip1jm, klevel)
23 INTEGER l, ij
24
25 !---------------------------------------------------------------------
26
27 DO l = 1, klevel
28
29 DO ij = 2, ip1jm
30 y(ij, l) = (rot(ij, l)-rot(ij-1, l))*cvsurcuv(ij)
31 END DO
32
33 ! correction pour y (1, j, l)
34
35 ! y(1, j, l)= y(iip1, j, l)
36 ! DIR$ IVDEP
37 DO ij = 1, ip1jm, iip1
38 y(ij, l) = y(ij+iim, l)
39 END DO
40
41 DO ij = iip2, ip1jm
42 x(ij, l) = (rot(ij, l)-rot(ij-iip1, l))*cusurcvu(ij)
43 END DO
44 DO ij = 1, iip1
45 x(ij, l) = 0.
46 x(ij+ip1jm, l) = 0.
47 END DO
48
49 END DO
50 RETURN
51 END SUBROUTINE nxgrad
52
53 end module nxgrad_m

  ViewVC Help
Powered by ViewVC 1.1.21