Log of /trunk/Sources/dyn3d/PPM3d
Directory Listing
Revision
169 -
Directory Listing
Modified
Mon Sep 14 17:13:16 2015 UTC
(8 years, 10 months ago)
by
guez
In inifilr_hemisph, colat0 is necessarily >= 1. / rlamda(iim) (see
notes) so we simplify the definition of jfilt. No need to keep modfrst
values at other latitudes than the current one, and we can have one
loop on latitudes instead of two.
Just encapsulated transp into a module.
Revision
168 -
Directory Listing
Modified
Wed Sep 9 10:41:47 2015 UTC
(8 years, 10 months ago)
by
guez
In order to be able to choose finer resolutions, set large memory
model in compiler options and use dynamic libraries.
Variables rlatd, rlond, cuphy and cvphy of module comgeomphy were
never used. (In LMDZ, they are used only for Orchid.)
There is a bug in PGI Fortran 13.10 that does not accept the
combination of forall, pack and spread in regr_pr_av and
regr_pr_int. In order to circumvent this bug, created the function
gr_dyn_phy.
In program test_inifilr, use a single latitude coordinate for north
and south.
Revision
167 -
Directory Listing
Modified
Mon Aug 24 16:30:33 2015 UTC
(8 years, 10 months ago)
by
guez
Added program test_inifilr.
Encapsulated ppm3d into a module and added implicit none. Removed
unused argument dum.
Encountered a problem in procedure invert_zoom_x. With grossismx=2.9,
DZOOMX=0.3, taux=5, for xuv = -0.25, for i = 1, rtsafe fails because
fval is about 1e-16 instead of 0 at xval = pi. So distinguished the
cases abs_y = 0 or pi. Needed then to add argument beta to
invert_zoom_x.
Moved the output of eignvalues of differentiation matrix from inifilr
to inifgn, where they are computed.
Simpler definition of j1 in inifilr.
Revision
166 -
Directory Listing
Added
Wed Jul 29 14:32:55 2015 UTC
(8 years, 11 months ago)
by
guez
Split ppm3d.f into files containing a single procedure.
Factorized computations of filtering matrices into a procedure
inifilr_hemisph. Had then to change the matrices from allocatable to
pointer and from customized lower bound to lower bound 1. The change
in lower bounds does not matter because the matrices are only used as
a whole as actual arguments.
Also, in infilr, instead of finding jfilt[ns][uv] from approximately
jjm /2, start at index j1 that corresponds to the equator. This is not
the same if there is a zoom in latitude.
Also, the test (rlamda(modfrst[ns][uv](j)) * cos(rlat[uv](j)) < 1) in
the loops on filtered latitudes is not useful now that we start from
j1: it is necessarily true. See notes.
Just encapsulated lwvn into a module and removed unused argument ktraer.