Ignore:
Timestamp:
Aug 7, 2012, 3:14:07 PM (12 years ago)
Author:
emillour
Message:

Mars GCM:

  • Improvement of the NLTE 15um scheme (for running with nltemodel = 2); now MUCH faster than previously (by a factor 5 or so):
  • Improvements included to the parameterization:
    • Cool-to-space calculation included above P(atm)=1e-10, with a soft merging to the full result (without the CTS approximation) below that level
    • exhaustive cleaning of the code, including FTNCHK and reordering of loops, subroutines and internal calls
    • simplification of the precomputed tables of CO2 bands' atmospheric transmittances
    • the two internal grids (the one used in the CTS region and the one below) have been , in order to reduce the CPU time consumption
    • reading of the spectroscopic histograms is made only once, at the beginning of the GCM, to avoid repetitive readings of ASCII files
    • F90 matrix operations (matmul,...) included.
  • Changes in routines:
    • removed nlte_leedat.F
    • updated nlte_calc.F, nlte_tcool.F, nlte_aux.F
    • updated nlte_commons.h, nlte_paramdef.h
    • added nlte_setup.F
  • Important: The input files (in the NLTEDAT directory) read as input by these routines have changed. the NLTEDAT directory should now on contain only the following files:

deltanu26.dat enelow27.dat hid26-3.dat parametp_Tstar_IAA1204.dat
deltanu27.dat enelow28.dat hid26-4.dat parametp_VC_IAA1204.dat
deltanu28.dat enelow36.dat hid27-1.dat
deltanu36.dat hid26-1.dat hid28-1.dat
enelow26.dat hid26-2.dat hid36-1.dat

FGG+MALV

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/nlte_paramdef.h

    r498 r757  
    33c       Merging of different parameters definitions for new NLTE 15um param
    44c
    5 c       jan 2012    fgg+malv
     5c       jul 2012    fgg+malv
    66c****************************************************************************
    7 c *** Old nltedefs.h ***
    8 ! NLTE grid parameters:
     7c *** Old mz1d.par ***
     8! Grids parameters :
    99
    10         integer nl              ! actual # alt in NLTE module
    11         parameter ( nl=20 )
     10        integer nztabul          ! # points in tabulation of Tesc & VC (ISO)
     11        parameter ( nztabul=79 )
    1212
     13! NLTE parameters:
     14
     15        integer nltot           ! incluye el actual # alt in NLTE module
     16        parameter ( nltot=20 )  ! y el # alturas del Tstar110
     17
     18        integer nl              ! actual # alt in NLTE module & C.Matrix
     19        parameter ( nl=12 )
    1320        integer nl2             ! = nl-2, needed for matrix inversion (mmh2)
    1421        parameter ( nl2=nl-2 ) 
    1522
    1623        integer nzy
    17         parameter ( nzy = (nl-1)*4 + 1 )  ! Fine grid for mztud.f
     24        parameter ( nzy = (nl-1)*4 + 1 )  ! Fine grid for C.Matrix
     25
     26        integer nl_cts         ! actual # alt para Tstar110
     27        parameter ( nl_cts = 2 + nltot-nl )
     28        integer nzy_cts         ! fine grid for transmit calculation
     29        parameter ( nzy_cts = (nl_cts-1)*4 + 1 )
    1830
    1931
     
    2739
    2840        integer         nbox_max
    29         parameter       ( nbox_max = 70 )       ! max.# boxes in histogram
     41        parameter       ( nbox_max = 4 )       ! max.# boxes in histogram
    3042
    3143
    32 c *** Old tcr15um.h ***
    33       integer   irw_mztf,imu,ioverlap,nw,itt_cza,icls_mztf,nan
    34 c
    35       parameter (irw_mztf     = 2)
    36       parameter (imu          = 1)
    37       parameter (ioverlap     = 0)
    38       parameter (nw           = 3)
    39       parameter (itt_cza      = 13)
    40       parameter (icls_mztf    = 5)
    41       parameter (nan          = 0)
    42 c
    43 c
    44       integer iopt3, iopt19,iopt20, iopt21,iopt27,iopt26
    45 c
    46       parameter (iopt3        = 1)
    47       parameter (iopt19       = 2)
    48       parameter (iopt20       = 2)
    49       parameter (iopt21       = 1)
    50       parameter (iopt27       = 1)
    51       parameter (iopt26       = 2)
    52 c
    53 c
    54       integer   iopt41,iopt43, iopt6
    55 c
    56       parameter (iopt6        = 2)
    57       parameter (iopt41       = 2)
    58       parameter (iopt43       = 2)
    59 c
    60 c
    61       real   tsurf_excess,Pbottom_atm,Ptop_atm
    62 c
    63       parameter (tsurf_excess = 0.)
    64       parameter (Pbottom_atm  = 2.e-5)
    65       parameter (Ptop_atm     = 5.e-12)
    66 c
    67 c
    68       real*8 rf1,rf2desac,rf2iso,rf3,rf6
    69 c
    70       parameter (rf1          = 1.d0)
    71       parameter (rf2desac     = 1.d0)
    72       parameter (rf2iso       = 1.d0)
    73       parameter (rf3          = 1.d0)
    74       parameter (rf6          = 1.d0) 
    75 c
    76 c
    77       real*8 rf7,rf19,rf20,rf21a,rf21b,rf21c
    78 c
    79       parameter (rf7          = 1.d0)
    80       parameter (rf19         = 1.d0)
    81       parameter (rf20         = 1.d0)
    82       parameter (rf21a        = 1.d0)
    83       parameter (rf21b        = 1.d0)
    84       parameter (rf21c        = 1.d0)
    85 c
    86 c
    87       real*8 rf26,rf27f,rf27s,rf28,rf31,rf32,rf33a,rf33bc
    88 c
    89       parameter (rf26         = 1.d0)
    90       parameter (rf27f        = 1.d0)
    91       parameter (rf27s        = 1.d0)
    92       parameter (rf28         = 1.d0)
    93       parameter (rf31         = 1.d0)
    94       parameter (rf32         = 1.d0)
    95       parameter (rf33a        = 1.d0)
    96       parameter (rf33bc       = 1.d0)
    97 c
    98 c
    99       real*8 rf41,rf42,rf43,rf_hcl,rf44
    100 c
    101       parameter (rf41         = 1.d0)
    102       parameter (rf42         = 1.d0)
    103       parameter (rf43         = 1.d0)
    104       parameter (rf_hcl       = 1.d0)
    105       parameter (rf44         = 1.d0)
    106 c
    107 c                 
    108       real*8 frac6,frac21,frac33
    109 c
    110       parameter (frac6        = 1.d0)
    111       parameter (frac21       = 1.d0)
    112       parameter (frac33       = 1.d0)
     44c *** Old tcr_15um.h ***
     45
     46        integer itt_cza                        ! Selection of NLTE scheme
     47        parameter       ( itt_cza = 13 )
     48
     49        real    Ptop_atm, Pbottom_atm          ! Upper and lower limits of
     50                                               ! NLTE model
     51        parameter       ( Ptop_atm = 3.e-10 , Pbottom_atm = 2.e-5 )
     52       
     53
     54        real*8  rf19,rf20,rf21a,rf21b,rf21c,rf33bc
     55        parameter       ( rf19 = 1.d0, rf20 = 1.d0, rf21a = 1.d0)
     56        parameter       ( rf21b = 1.d0, rf21c = 1.d0, rf33bc = 1.d0 )
    11357
    11458
    115 c *** Old nlte_data.h and bloque.F ***
    116       real*8  vlight, ee, hplanck, gamma
    117       parameter (vlight       = 2.9979245e10)
    118       parameter (ee           = 1.43876866)
    119       parameter (hplanck      = 6.6260755e-27)
    120       parameter (gamma        = 1.191043934e-5)
     59c *** Old bloque_dlvr11.f ***
    12160
    122       real imr(nisot), imrco
    123       parameter (imrco        = 0.9865)     
    124       data imr / 0.987, 0.00408, 0.0112, 0.000742 / 
     61        real nu(nisot,8)
     62c data
     63        data nu(1,1),nu(1,2) /667.3801, 1335.1317/
     64        data nu(2,1)/662.3734/
     65        data nu(3,1)/648.4784/
     66        data nu(4,1)/664.7289/
    12567
    126       integer indexisot(nisot)
    127       data indexisot/26,28,36,27/
     68        real nu12_0200,nu12_1000
     69        parameter      (nu12_0200 = 1285.4087)
     70        parameter      (nu12_1000 = 1388.1847)
    12871
    129       real deltanuco
    130       parameter (deltanuco    = 306.)
     72        integer indexisot(nisot)
     73        data indexisot/26,28,36,27/
    13174
    132       real nuco_10
    133       parameter (nuco_10      = 2143.2716)
     75        ! ctes en el sistema cgs
     76        real*8  vlight, ee, hplanck, gamma
     77        parameter (vlight       = 2.9979245e10)
     78        parameter (ee           = 1.43876866)
     79        parameter (hplanck      = 6.6260755e-27)
     80        parameter (gamma        = 1.191043934e-5)
    13481
    135       real nun2,nu12_0200,nu12_1000,nu22_0200,nu22_1000
    136       parameter (nun2         = 2331.0)
    137       parameter (nu12_0200    = 1285.4087)
    138       parameter (nu12_1000    = 1388.1847)
    139       parameter (nu22_0200    = 1259.4257)
    140       parameter (nu22_1000    = 1365.8439)
    14182
    142       real nu32_0200,nu32_1000, nu42_0200,nu42_1000
    143       parameter (nu32_0200    = 1265.8282)
    144       parameter (nu32_1000    = 1370.0626)
    145       parameter (nu42_0200    = 1272.2866)
    146       parameter (nu42_1000    = 1376.0275)
     83        ! datos de marte
     84        real imr(nisot)
     85        data imr / 0.987, 0.00408, 0.0112, 0.000742 /
    14786
    148       real nu(nisot,8)
    149       data nu(1,1),nu(1,2),nu(1,3),nu(1,4)   
    150      @    /667.3801, 1335.1317, 2003.2463, 2349.1433/       
    151       data nu(1,5),nu(1,6),nu(1,7),nu(1,8)   
    152      @   /3004.0112, 3612.8417, 3659.2728, 3714.7828/       
    153       data nu(2,1),nu(2,2),nu(2,3),nu(2,4)   
    154      @   /662.3734, 1325.1410, 1988.3280, 2332.1128/       
    155       data nu(2,5),nu(2,6),nu(2,7),nu(2,8)   
    156      @   /2982.1115, 3571.1404, 3632.5240, 3675.1332/       
    157       data nu(3,1),nu(3,2),nu(3,3),nu(3,4)   
    158      @   /648.4784, 1297.2640, 1946.3507, 2283.4876/       
    159       data nu(3,5),nu(3,6),nu(3,7),nu(3,8)   
    160      @   /2920.2387, 3527.7380, 3557.3145, 3632.9112/       
    161       data nu(4,1),nu(4,2),nu(4,3),nu(4,4)   
    162      @   /664.7289, 1329.8430, 1995.3520, 2340.0136/       
    163       data nu(4,5),nu(4,6),nu(4,7),nu(4,8)   
    164      @   /2992.3100, 3591.2510, 3644.9900, 3693.3460/
    16587
    166      
     88
     89
Note: See TracChangeset for help on using the changeset viewer.