/[lmdze]/trunk/phylmd/radiornpb.f
ViewVC logotype

Annotation of /trunk/phylmd/radiornpb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 266 - (hide annotations)
Thu Apr 19 17:54:55 2018 UTC (6 years, 1 month ago) by guez
File size: 1378 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 guez 17 module radiornpb_m
2    
3     IMPLICIT none
4    
5     contains
6    
7     function radiornpb(tr_seri, pdtphys, tautr)
8    
9 guez 266 ! From phylmd/radiornpb.F, version 1.2, 2005/05/25 13:10:09
10 guez 17
11 guez 266 ! Auteurs : AA + Christophe Genthon (LGGE/CNRS)
12     ! Date: June 1994
13     ! Objet: d\'ecroissance radioactive d'un traceur dans l'atmosph\`ere
14 guez 17
15 guez 266 ! Pour un traceur, le radon. Plus un deuxi\`eme traceur, le 210
16     ! Pb. Le radon d\'ecro\^it en plomb. Le pas de temps "pdtphys" est
17     ! suppos\'e beaucoup plus petit que la constante de temps de
18     ! d\'ecroissance.
19 guez 17
20 guez 265 use dimensions, only: llm, nqmx
21 guez 98 use dimphy, only: klon
22 guez 36 use nr_util, only: assert
23 guez 17
24 guez 266 REAL, intent(in):: tr_seri(:, :, :) ! (klon, llm, nqmx - 2)
25     REAL, intent(in):: pdtphys
26     REAL, intent(in):: tautr(:) ! (nqmx - 2)
27 guez 17 real radiornpb(klon, llm, 2)
28    
29 guez 266 ! Local:
30 guez 17 INTEGER it
31    
32     !-----------------------------------------------
33    
34 guez 266 call assert(shape(tr_seri) == [klon, llm, nqmx - 2], "radiornpb tr_seri")
35 guez 98 call assert(size(tautr) == nqmx - 2, "radiornpb tautr")
36 guez 17
37     DO it = 1, 2
38     IF (tautr(it) > 0.) THEN
39     radiornpb(:, :, it) = - tr_seri(:, :, it) * pdtphys / tautr(it)
40     ELSE
41     radiornpb(:, :, it) = 0.
42     END IF
43     END DO
44    
45 guez 266 ! Cas particulier radon 1 => plomb 2
46 guez 17 radiornpb(:, :, 2) = radiornpb(:, :, 2) - radiornpb(:, :, 1)
47    
48     END function radiornpb
49    
50     end module radiornpb_m

  ViewVC Help
Powered by ViewVC 1.1.21