Changeset 705


Ignore:
Timestamp:
Jun 14, 2012, 4:14:11 PM (13 years ago)
Author:
emillour
Message:

Mars GCM:

  • Added possibility to run with a varying EUV cycle following real one. The flag solvarmod=1 triggers this behaviour, with companion flag solvaryear=## , where ## is the Mars Year (from 23 to 30). Setting solvarmod=0 reverts to 'old' behaviour, where there is a constant EUV forcing throughout the run, set by the "solarcondate" flag.
  • Needs corresponding input data files ("param_v6" subdirectory of "EUV" subdirectory in "datadir").
  • Added files jthermcalc_e107.F and param_read_e107.F in "aeronomars", modified files euvheat.F90, hrtherm.F, chemthermos.F90, param_v4.h and param_read.F in "aeronomars" and files inifis.F, physiq.F and callkeys.h in "phymars".

FGG

Location:
trunk/LMDZ.MARS
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r704 r705  
    17061706  better thermals (this update should should have been done a while back...)
    17071707
     1708== 14/06/12 == FGG
     1709- Added possibility to run with a varying EUV cycle following real one.
     1710  The flag solvarmod=1 triggers this behaviour, with companion flag
     1711  solvaryear=## , where ## is the Mars Year (from 23 to 30).
     1712  Setting solvarmod=0 reverts to 'old' behaviour, where there is a constant
     1713  EUV forcing throughout the run, set by the "solarcondate" flag.
     1714- Needs corresponding input data files ("param_v6" subdirectory of "EUV"
     1715  subdirectory in "datadir").
     1716- Added files jthermcalc_e107.F and param_read_e107.F in "aeronomars",
     1717  modified files euvheat.F90, hrtherm.F, chemthermos.F90, param_v4.h and
     1718  param_read.F in "aeronomars" and files inifis.F, physiq.F and callkeys.h
     1719  in "phymars".
     1720
  • trunk/LMDZ.MARS/deftank/callphys.def

    r677 r705  
    4545# call NLTE radiative schemes ?   matters only if callrad=T
    4646callnlte = .true.
     47# NLTE 15um scheme to use.
     48# 0-> Old scheme, static oxygen
     49# 1-> Old scheme, dynamic oxygen
     50# 2-> New scheme
     51nltemodel = 1
    4752# call CO2 NIR absorption ?   matters only if callrad=T
    4853callnirco2 = .true.
     54# NIR NLTE correction ? matters only if callnirco2=T
     55nircorr=1
    4956# call turbulent vertical diffusion ?
    5057calldifv  = .true.
     
    5966# Impose polar cap surface albedos as observed by TES?
    6067TESicealbedo = .true.
     68## Coefficient for Northern cap albedoes
     69TESice_Ncoef=1.6
     70## Coefficient for Southern cap albedoes
     71TESice_Scoef=1.6
     72
    6173
    6274## Radiative transfer options :
     
    104116# call thermal conduction ? (only if callthermos=.true.)
    105117callconduct = .false.
    106 # call EUV heating ? (only if callthermos=.true.)
    107 calleuv=.false.
    108118# call molecular viscosity ? (only if callthermos=.true.)
    109119callmolvis = .false.
     
    112122# call thermospheric photochemistry ? (only if callthermos=.true.)
    113123thermochem = .false.
     124# call EUV heating ? (only if callthermos=.true.)
     125calleuv=.false.
     126#Method to include solar variability?
     127#0-> Old method   1-> Variability with E10.7 as observed
     128solvarmod=1
    114129# date for solar flux calculation: (1985 < date < 2002)
    115 ## (Solar min=1996.4 ave=1993.4 max=1990.6)
     130## (Solar min=1996.4 ave=1993.4 max=1990.6) ; Only used if solvarmod=0
    116131solarcondate = 1993.4
    117        
     132#Solar variability as observed for MY? (must bebetween MY23 and MY30)
     133# (only matters if solvarmod=1)
     134solvaryear=24
     135# value for the UV heating efficiency
     136##(experimental values between 0.19 and 0.23, lower values may
     137## be used to compensate for low 15 um cooling)
     138euveff = 0.21       
    118139
    119 
  • trunk/LMDZ.MARS/libf/aeronomars/chemthermos.F90

    r635 r705  
    4444!    Local variables :
    4545!    -----------------
    46       integer :: l,iq
     46      integer :: l
    4747      integer,save :: nesptherm
    4848      real,allocatable :: rm(:,:)               !number density (cm-3)
     
    462462
    463463      !Solar flux calculation
    464       call flujo(solarcondate)!+zday/365.)
    465464
    466465      !Photoabsorption coefficients
    467       call jthermcalc(ig,chemthermod,rm,nesptherm,ztemp,zlocal,zenit)
     466      if(solvarmod.eq.0) then
     467         call flujo(solarcondate)!+zday/365.)
     468         call jthermcalc(ig,chemthermod,rm,nesptherm,ztemp,zlocal,zenit)
     469      else if(solvarmod.eq.1) then
     470         call jthermcalc_e107(ig,chemthermod,rm,nesptherm,ztemp,zlocal,zenit,zday)
     471      endif
     472         
    468473
    469474      !Chemistry
  • trunk/LMDZ.MARS/libf/aeronomars/euvheat.F90

    r635 r705  
    362362     
    363363      !Solar flux calculation
    364       call flujo(solarcondate)
     364      if(solvarmod.eq.0) call flujo(solarcondate)
    365365
    366366                                         ! Not recommended for long runs
     
    407407         enddo
    408408        !Routine to calculate the UV heating
    409          call hrtherm (ig,euvmod,rm,nespeuv,tx,zlocal,zenit,jtot)
     409         call hrtherm (ig,euvmod,rm,nespeuv,tx,zlocal,zenit,zday,jtot)
    410410
    411411!        euveff=0.16    !UV heating efficiency. Following Fox et al. ASR 1996
  • trunk/LMDZ.MARS/libf/aeronomars/hrtherm.F

    r635 r705  
    11c**********************************************************************
    22
    3       subroutine hrtherm(ig,euvmod,rm,nespeuv,tx,iz,zenit,jtot)
     3      subroutine hrtherm(ig,euvmod,rm,nespeuv,tx,iz,zenit,zday,jtot)
    44
    55
     
    1818      include 'param.h'
    1919      include 'param_v4.h'
     20      include "callkeys.h"
    2021
    2122
     
    3839      real       zenit
    3940      real       iz(nlayermx)
     41      real       zday
    4042
    4143      ! tracer indexes for the EUV heating:
     
    99101
    100102      !Calculation of photoabsortion coefficient
    101       call jthermcalc(ig,euvmod,rm,nespeuv,tx,iz,zenit)
     103      if(solvarmod.eq.0) then
     104         call jthermcalc(ig,euvmod,rm,nespeuv,tx,iz,zenit)
     105      else if (solvarmod.eq.1) then
     106         call jthermcalc_e107(ig,euvmod,rm,nespeuv,tx,iz,zenit,zday)
     107         do indexint=1,ninter
     108            fluxtop(indexint)=1.
     109         enddo
     110      endif
    102111
    103112      !Total photoabsorption coefficient
  • trunk/LMDZ.MARS/libf/aeronomars/param_read.F

    r658 r705  
    1515
    1616      integer    i,j,k,inter                          !indexes
    17       integer ierr,lnblnk
     17      integer ierr
    1818      real       nada
    1919 
     
    8989      !Tabulated column amount
    9090      open(210, status = 'old',
    91 c    $file=datafile(1:lnblnk(datafile))//'/EUVDAT/coln.dat',iostat=ierr)
    92      $file=datafile
    93      $   (1:lnblnk(datafile))//'/EUVDAT/param_v5/coln.dat',iostat=ierr)
     91c    $file=trim(datafile)//'/EUVDAT/coln.dat',iostat=ierr)
     92     $file=trim(datafile)//'/EUVDAT/param_v5/coln.dat',iostat=ierr)
    9493
    9594      IF (ierr.NE.0) THEN
    96        write(*,*)'cant find directory EUVDAT and content coln.dat'
     95       write(*,*)'cant find directory EUVDAT containing param_v5 subdir'
    9796       write(*,*)'(in aeronomars/param_read.F)'
    98        write(*,*)'It should be in :', datafile,'/'
     97       write(*,*)'It should be in :', trim(datafile),'/'
    9998       write(*,*)'1) You can change this directory address in '
    100        write(*,*)'   file phymars/datafile.h'
     99       write(*,*)'   callphys.def with datadir=/path/to/dir'
    101100       write(*,*)'2) If necessary, EUVDAT (and other datafiles)'
    102101       write(*,*)'   can be obtained online on:'
     
    106105 
    107106      !Tabulated photoabsorption coefficients
    108       open(220,file=datafile
    109      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/j2_an.dat')
    110       open(230,file=datafile
    111      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/j3_an.dat')
    112       open(240,file=datafile
    113      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/j1_an.dat')
    114       open(250,file=datafile
    115      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/j2_bn.dat')
    116       open(260,file=datafile
    117      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/j2_cn.dat')
    118       open(300,file=datafile
    119      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j2_dn.dat')
    120       open(270,file=datafile
    121      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j1_bn.dat')
    122       open(280,file=datafile
    123      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j1_cn.dat')
    124       open(290,file=datafile
    125      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j1_dn.dat')
    126       open(150,file=datafile
    127      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j4n.dat')
    128       open(160,file=datafile
    129      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j5n.dat')
    130       open(170,file=datafile
    131      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j6n.dat')
    132       open(180,file=datafile
    133      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j7n.dat')
    134       open(390,file=datafile
    135      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j8_an.dat')
    136       open(400,file=datafile
    137      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j8_bn.dat')
    138       open(410,file=datafile
    139      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j9n.dat')
    140       open(420,file=datafile
    141      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j10_an.dat')
    142       open(430,file=datafile
    143      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j10_bn.dat')
    144       open(440,file=datafile
    145      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j10_cn.dat')
    146       open(450,file=datafile
    147      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j11_an.dat')
    148       open(460,file=datafile
    149      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j11_bn.dat')
    150       open(470,file=datafile
    151      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j11_cn.dat')
    152       open(480,file=datafile
    153      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j12n.dat')
    154       open(490,file=datafile
    155      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j13_an.dat')
    156       open(500,file=datafile
    157      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j13_bn.dat')
    158       open(510,file=datafile
    159      $     (1:lnblnk(datafile))//'/EUVDAT//param_v5/j13_cn.dat')
     107      open(220,file=trim(datafile)//'/EUVDAT/param_v5/j2_an.dat')
     108      open(230,file=trim(datafile)//'/EUVDAT/param_v5/j3_an.dat')
     109      open(240,file=trim(datafile)//'/EUVDAT/param_v5/j1_an.dat')
     110      open(250,file=trim(datafile)//'/EUVDAT/param_v5/j2_bn.dat')
     111      open(260,file=trim(datafile)//'/EUVDAT/param_v5/j2_cn.dat')
     112      open(300,file=trim(datafile)//'/EUVDAT//param_v5/j2_dn.dat')
     113      open(270,file=trim(datafile)//'/EUVDAT//param_v5/j1_bn.dat')
     114      open(280,file=trim(datafile)//'/EUVDAT//param_v5/j1_cn.dat')
     115      open(290,file=trim(datafile)//'/EUVDAT//param_v5/j1_dn.dat')
     116      open(150,file=trim(datafile)//'/EUVDAT//param_v5/j4n.dat')
     117      open(160,file=trim(datafile)//'/EUVDAT//param_v5/j5n.dat')
     118      open(170,file=trim(datafile)//'/EUVDAT//param_v5/j6n.dat')
     119      open(180,file=trim(datafile)//'/EUVDAT//param_v5/j7n.dat')
     120      open(390,file=trim(datafile)//'/EUVDAT//param_v5/j8_an.dat')
     121      open(400,file=trim(datafile)//'/EUVDAT//param_v5/j8_bn.dat')
     122      open(410,file=trim(datafile)//'/EUVDAT//param_v5/j9n.dat')
     123      open(420,file=trim(datafile)//'/EUVDAT//param_v5/j10_an.dat')
     124      open(430,file=trim(datafile)//'/EUVDAT//param_v5/j10_bn.dat')
     125      open(440,file=trim(datafile)//'/EUVDAT//param_v5/j10_cn.dat')
     126      open(450,file=trim(datafile)//'/EUVDAT//param_v5/j11_an.dat')
     127      open(460,file=trim(datafile)//'/EUVDAT//param_v5/j11_bn.dat')
     128      open(470,file=trim(datafile)//'/EUVDAT//param_v5/j11_cn.dat')
     129      open(480,file=trim(datafile)//'/EUVDAT//param_v5/j12n.dat')
     130      open(490,file=trim(datafile)//'/EUVDAT//param_v5/j13_an.dat')
     131      open(500,file=trim(datafile)//'/EUVDAT//param_v5/j13_bn.dat')
     132      open(510,file=trim(datafile)//'/EUVDAT//param_v5/j13_cn.dat')
    160133
    161134     
     
    310283
    311284      !Parameters for the variation of the solar flux with 11 years cycle
    312       open(100,file=datafile
    313      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/varflujo.dat')
     285      open(100,file=trim(datafile)//'/EUVDAT/param_v5/varflujo.dat')
    314286      read(100,*)
    315287      do i=1,24
     
    349321c     CO2, O2, NO
    350322
    351       open(120,file=datafile
    352      $     (1:lnblnk(datafile))//'/EUVDAT/param_v5/efdis_inter.dat')
     323      open(120,file=trim(datafile)//'/EUVDAT/param_v5/efdis_inter.dat')
    353324      read(120,*)
    354325!      do i=1,21
  • trunk/LMDZ.MARS/libf/aeronomars/param_v4.h

    r690 r705  
    99      common/uv/ crscabsi2,c1_16,c17_24,c25_29,c30_31,c32,                         &
    1010     &   c33,c34,c35,c36,jfotsout,co2crsc195,co2crsc295,                           &
    11      &   t0,fluxtop,freccen,jabsifotsintpar
     11     &   t0,fluxtop,freccen,jabsifotsintpar,e107,date_e107,e107_tab,               &
     12     &   coefit0,coefit1,coefit2,coefit3,coefit4
    1213     
    1314     
     
    3031      real freccen(ninter)          !representative wavelenght
    3132      real jabsifotsintpar(nz2,nabs,ninter)
     33      real e107,date_e107(669),e107_tab(669)
     34      real coefit0(ninter,nabs),coefit1(ninter,nabs)
     35      real coefit2(ninter,nabs)
     36      real coefit3(ninter,nabs),coefit4(ninter,nabs)
    3237
    3338
     
    172177        real*8 tminnplus(nlayermx),tminnoplus(nlayermx)
    173178        real*8 tminn2plus(nlayermx)
    174         real*8 tminhplus(nlayermx),tminhcoplus(nlayermx)
     179        real*8 tminhplus(nlayermx)
    175180        real*8 tminhco2plus(nlayermx)
    176181
  • trunk/LMDZ.MARS/libf/phymars/callkeys.h

    r635 r705  
    1616     
    1717      COMMON/callkeys_i/iradia,iaervar,iddist,ilwd,ilwb,ilwn,ncouche    &
    18      &   ,dustbin,nltemodel,nircorr
     18     &   ,dustbin,nltemodel,nircorr,solvarmod,solvaryear
    1919     
    2020      COMMON/callkeys_r/topdustref,solarcondate,semi,alphan,euveff,     &
     
    4747      integer ilwn
    4848      integer ncouche
     49      integer solvarmod   ! model for solar EUV variation
     50      integer solvaryear  ! mars year for realisticly varying solar EUV
    4951
    5052      logical rayleigh
  • trunk/LMDZ.MARS/libf/phymars/inifis.F

    r677 r705  
    584584         write(*,*) " thermochem = ",thermochem
    585585
     586         write(*,*) "Method to include solar variability"
     587         write(*,*) "0-> old method (using solarcondate); ",
     588     &                  "1-> variability wit E10.7"
     589         solvarmod=1
     590         call getin("solvarmod",solvarmod)
     591         write(*,*) " solvarmod = ",solvarmod
     592
    586593         write(*,*) "date for solar flux calculation:",
    587      &   " (1985 < date < 2002)"
     594     &   " (1985 < date < 2002)",
     595     $   " (Only used if solvarmod=0)"
    588596         write(*,*) "(Solar min=1996.4 ave=1993.4 max=1990.6)"
    589597         solarcondate=1993.4 ! default value
     
    591599         write(*,*) " solarcondate = ",solarcondate
    592600         
     601         write(*,*) "Solar variability as observed for MY: "
     602         write(*,*) "Only if solvarmod=1"
     603         solvaryear=24
     604         call getin("solvaryear",solvaryear)
     605         write(*,*) " solvaryear = ",solvaryear
     606
    593607         write(*,*) "UV heating efficiency:",
    594608     &   "measured values between 0.19 and 0.23 (Fox et al. 1996)",
  • trunk/LMDZ.MARS/libf/phymars/physiq.F

    r698 r705  
    308308      real rho(ngridmx,nlayermx)  ! density
    309309      real vmr(ngridmx,nlayermx)  ! volume mixing ratio
     310      real rhopart(ngridmx,nlayermx) ! number density of a given species
    310311      real colden(ngridmx,nqmx)   ! vertical column of tracers
    311312      REAL mtot(ngridmx)          ! Total mass of water vapor (kg/m2)
     
    429430c        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    430431
    431          if (callthermos) call param_read
     432         if (callthermos) then
     433            if(solvarmod.eq.0) call param_read
     434            if(solvarmod.eq.1) call param_read_e107
     435         endif
    432436#endif
    433437c        Initialize R and Cp as constant
     
    561565                 CALL nltecool(ngrid,nlayer,nq,pplay,pt,pq,zdtnlte)
    562566              else if(nltemodel.eq.2) then
    563                  do ig=1,ngrid
    564                     do l=1,nlayer
    565                        co2vmr_gcm(ig,l)=pq(ig,l,igcm_co2)*
    566      $                      mmean(ig,l)/mmol(igcm_co2)
    567                        n2vmr_gcm(ig,l)=pq(ig,l,igcm_n2)*
    568      $                      mmean(ig,l)/mmol(igcm_n2)
    569                        covmr_gcm(ig,l)=pq(ig,l,igcm_co)*
    570      $                      mmean(ig,l)/mmol(igcm_co)
    571                        ovmr_gcm(ig,l)=pq(ig,l,igcm_o)*
    572      $                      mmean(ig,l)/mmol(igcm_o)
    573                     enddo
    574                  enddo
     567                co2vmr_gcm(1:ngrid,1:nlayer)=
     568     &                      pq(1:ngrid,1:nlayer,igcm_co2)*
     569     &                      mmean(1:ngrid,1:nlayer)/mmol(igcm_co2)
     570                n2vmr_gcm(1:ngrid,1:nlayer)=
     571     &                      pq(1:ngrid,1:nlayer,igcm_n2)*
     572     &                      mmean(1:ngrid,1:nlayer)/mmol(igcm_n2)
     573                covmr_gcm(1:ngrid,1:nlayer)=
     574     &                      pq(1:ngrid,1:nlayer,igcm_co)*
     575     &                      mmean(1:ngrid,1:nlayer)/mmol(igcm_co)
     576                ovmr_gcm(1:ngrid,1:nlayer)=
     577     &                      pq(1:ngrid,1:nlayer,igcm_o)*
     578     &                      mmean(1:ngrid,1:nlayer)/mmol(igcm_o)
    575579                 
    576580                 CALL NLTEdlvr09_TCOOL(ngrid,nlayer,pplay*9.869e-6,
     
    578582     $                ovmr_gcm,  zdtnlte )
    579583
    580                  do ig=1,ngrid
    581                     do l=1,nlayer
    582                        zdtnlte(ig,l)=zdtnlte(ig,l)/86400.
    583                     enddo
    584                  enddo
     584                 zdtnlte(1:ngrid,1:nlayer)=
     585     &                             zdtnlte(1:ngrid,1:nlayer)/86400.
    585586              endif
    586587           else
     
    15491550        call wstats(ngrid,"v","Meridional (North-South) wind",
    15501551     &                "m.s-1",3,zv)
    1551 c           call wstats(ngrid,"w","Vertical (down-up) wind",
    1552 c     &                "m.s-1",3,pw)
     1552        call wstats(ngrid,"w","Vertical (down-up) wind",
     1553     &                "m.s-1",3,pw)
    15531554        call wstats(ngrid,"rho","Atmospheric density","kg/m3",3,rho)
    1554 c           call wstats(ngrid,"pressure","Pressure","Pa",3,pplay)
     1555        call wstats(ngrid,"pressure","Pressure","Pa",3,pplay)
    15551556c          call wstats(ngrid,"q2",
    15561557c    &                "Boundary layer eddy kinetic energy",
     
    16241625     $                 noms(iq) .ne. "ccn_mass" .and.
    16251626     $                 noms(iq) .ne. "ccn_number") then
    1626                    do l=1,nlayer
    1627                       do ig=1,ngrid
    1628                          vmr(ig,l)=zq(ig,l,iq)*mmean(ig,l)/mmol(iq)
    1629                       end do
    1630                    end do
     1627                    vmr(1:ngrid,1:nlayer)=zq(1:ngrid,1:nlayer,iq)
     1628     &                          *mmean(1:ngrid,1:nlayer)/mmol(iq)
     1629                    rhopart(1:ngrid,1:nlayer)=zq(1:ngrid,1:nlayer,iq)
     1630     &                          *rho(1:ngrid,1:nlayer)*n_avog/
     1631     &                           (1000*mmol(iq))
    16311632                   call wstats(ngrid,"vmr_"//trim(noms(iq)),
    16321633     $                         "Volume mixing ratio","mol/mol",3,vmr)
     1634!                   call wstats(ngrid,"rho_"//trim(noms(iq)),
     1635!     $                     "Number density","cm-3",3,rhopart)
     1636!                   call writediagfi(ngrid,"rho_"//trim(noms(iq)),
     1637!     $                     "Number density","cm-3",3,rhopart)
    16331638                   if ((noms(iq).eq."o") .or. (noms(iq).eq."co2").or.
    16341639     $                 (noms(iq).eq."o3")) then                     
     
    19281933c          endif ! (submicron)
    19291934         end if  ! (tracer.and.(dustbin.ne.0))
     1935
     1936
     1937c        ----------------------------------------------------------
     1938c        Thermospheric outputs
     1939c        ----------------------------------------------------------
     1940
     1941         if(callthermos) then
     1942
     1943            call WRITEDIAGFI(ngridmx,"q15um","15 um cooling","K/s",
     1944     $           3,zdtnlte)
     1945            call WRITEDIAGFI(ngridmx,"quv","UV heating","K/s",
     1946     $           3,zdteuv)
     1947            call WRITEDIAGFI(ngridmx,"cond","Thermal conduction","K/s",
     1948     $           3,zdtconduc)
     1949            call WRITEDIAGFI(ngridmx,"qnir","NIR heating","K/s",
     1950     $           3,zdtnirco2)
     1951
     1952         endif  !(callthermos)
    19301953
    19311954c        ----------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.