/[lmdze]/trunk/Sources/dyn3d/PPM3d/ppm3d.f
ViewVC logotype

Log of /trunk/Sources/dyn3d/PPM3d/ppm3d.f

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 176)

Revision 176 - (view) (annotate) - [select for diffs]
Modified Tue Feb 23 17:00:39 2016 UTC (8 years, 2 months ago) by guez
File length: 21115 byte(s)
Diff to previous 169
1e-60 was underflowing in simple precision.

Revision 169 - (view) (annotate) - [select for diffs]
Modified Mon Sep 14 17:13:16 2015 UTC (8 years, 7 months ago) by guez
File length: 21116 byte(s)
Diff to previous 168
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 - (view) (annotate) - [select for diffs]
Modified Wed Sep 9 10:41:47 2015 UTC (8 years, 7 months ago) by guez
File length: 22231 byte(s)
Diff to previous 167
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 - (view) (annotate) - [select for diffs]
Modified Mon Aug 24 16:30:33 2015 UTC (8 years, 8 months ago) by guez
File length: 22236 byte(s)
Diff to previous 166
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 - (view) (annotate) - [select for diffs]
Modified Wed Jul 29 14:32:55 2015 UTC (8 years, 9 months ago) by guez
File length: 20166 byte(s)
Copied from: trunk/Sources/dyn3d/ppm3d.f revision 165
Diff to previous 134
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.


Revision 134 - (view) (annotate) - [select for diffs]
Modified Wed Apr 29 15:47:56 2015 UTC (9 years ago) by guez
Original Path: trunk/Sources/dyn3d/ppm3d.f
File length: 51934 byte(s)
Copied from: trunk/dyn3d/ppm3d.f90 revision 81
Diff to previous 82
Sources inside, compilation outside.

Revision 82 - (view) (annotate) - [select for diffs]
Modified Wed Mar 5 14:57:53 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/dyn3d/ppm3d.f
File length: 51934 byte(s)
Copied from: trunk/dyn3d/ppm3d.f90 revision 81
Diff to previous 81
Changed all ".f90" suffixes to ".f".

Revision 81 - (view) (annotate) - [select for diffs]
Modified Wed Mar 5 14:38:41 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/dyn3d/ppm3d.f90
File length: 51934 byte(s)
Copied from: trunk/dyn3d/ppm3d.f revision 80
Diff to previous 76
 Converted to free source form files which were still in fixed source
form. The conversion was done using the polish mode of the NAG Fortran
Compiler.

In addition to converting to free source form, the processing of the
files also:

-- indented the code (including comments);

-- set Fortran keywords to uppercase, and set all other identifiers
to lower case;

-- added qualifiers to end statements (for example "end subroutine
conflx", instead of "end");

-- changed the terminating statements of all DO loops so that each
loop ends with an ENDDO statement (instead of a labeled continue).


Revision 76 - (view) (annotate) - [select for diffs]
Modified Fri Nov 15 18:45:49 2013 UTC (10 years, 5 months ago) by guez
Original Path: trunk/dyn3d/ppm3d.f
File length: 52639 byte(s)
Diff to previous 32
Moved everything out of libf.

Revision 32 - (view) (annotate) - [select for diffs]
Modified Tue Apr 6 17:52:58 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/dyn3d/ppm3d.f
File length: 52639 byte(s)
Diff to previous 10
Split "stringop.f90" into single-procedure files. Gathered files in directory
"IOIPSL/Stringop".

Split "flincom.f90" into "flincom.f90" and "flinget.f90". Removed
unused procedures from module "flincom". Removed unused argument
"filename" of procedure "flinopen_nozoom".

Removed unused files.

Split "grid_change.f90" into "grid_change.f90" and
"gr_phy_write_3d.f90".

Removed unused procedures from modules "calendar", "ioipslmpp",
"grid_atob", "gath_cpl" and "getincom". Removed unused procedures in
files "ppm3d.f" and "thermcell.f".

Split "mathelp.f90" into "mathelp.f90" and "mathop.f90".

Removed unused variable "dpres" of module "comvert".

Use argument "itau" instead of local variables "iadvtr" and "first" to
control algorithm in procedure "fluxstokenc".

Removed unused arguments of procedure "integrd".

Removed useless computations at the end of procedure "leapfrog".

Merged common block "matrfil" into module "parafilt".


Revision 10 - (view) (annotate) - [select for diffs]
Modified Fri Apr 18 14:45:53 2008 UTC (16 years ago) by guez
Original Path: trunk/libf/dyn3d/ppm3d.f
File length: 53742 byte(s)
Diff to previous 3
Added NetCDF directory "/home/guez/include" in "g95.mk" and
"nag_tools.mk".

Added some "intent" attributes in "PVtheta", "advtrac", "caladvtrac",
"calfis", "diagedyn", "dissip", "vlspltqs", "aeropt", "ajsec",
"calltherm", "clmain", "cltrac", "cltracrn", "concvl", "conema3",
"conflx", "fisrtilp", "newmicro", "nuage", "diagcld1", "diagcld2",
"drag_noro", "lift_noro", "SUGWD", "physiq", "phytrac", "radlwsw", "thermcell".

Removed the case "ierr == 0" in "abort_gcm"; moved call to "histclo"
and messages for end of run from "abort_gcm" to "gcm"; replaced call
to "abort_gcm" in "leapfrog" by exit from outer loop.

In "calfis": removed argument "pp" and variable "unskap"; changed
"pksurcp" from scalar to rank 2; use "pressure_var"; rewrote
computation of "zplev", "zplay", "ztfi", "pcvgt" using "dyn_phy";
added computation of "pls".

Removed unused variable in "dynredem0".

In "exner_hyb": changed "dellta" from scalar to rank 1; replaced call
to "ssum" by call to "sum"; removed variables "xpn" and "xps";
replaced some loops by array expressions.

In "leapfrog": use "pressure_var"; deleted variables "p", "longcles".

Converted common blocks "YOECUMF", "YOEGWD" to modules.

Removed argument "pplay" in "cvltr", "diagetpq", "nflxtr".

Created module "raddimlw" from include file "raddimlw.h".

Corrected call to "new_unit" in "test_disvert".


Revision 3 - (view) (annotate) - [select for diffs]
Added Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/ppm3d.f
File length: 53707 byte(s)
Initial import

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.21