!-------------------------------------- LICENCE BEGIN ------------------------------------ !Environment Canada - Atmospheric Science and Technology License/Disclaimer, ! version 3; Last Modified: May 7, 2008. !This is free but copyrighted software; you can use/redistribute/modify it under the terms !of the Environment Canada - Atmospheric Science and Technology License/Disclaimer !version 3 or (at your option) any later version that should be found at: !http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html ! !This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; !without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. !See the above mentioned License/Disclaimer for more details. !You should have received a copy of the License/Disclaimer along with this software; !if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec), !CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca !-------------------------------------- LICENCE END -------------------------------------- !SUBROUTINE subg_lam(CDCTL,KULOUT) 1,8 #if defined (DOC) * ***s/r subg_lam - To initialize Background error statistics for * grd_typ = ('GU' & lcva_hemis) or grd_typ = 'LU' mode. * * *Author : Luc Fillion - ARMA/EC - 6 Aug 2010 * *Revision: * ------------------- * *Arguments * CDCTL : 'I' --> identity is used for the correlation in spectral space * . 'H' --> homegeneous and isotropic error correlation * '0' --> return no statistics needed #endif USE procs_topo
IMPLICIT NONE *implicits #include "comct0.cdk"
#include "pardim.cdk"
#include "comdim.cdk"
#include "comlun.cdk"
#include "comcva.cdk"
#include "comgrd_param.cdk"
#include "comspg.cdk"
#include "comfftla.cdk"
#include "comcorr.cdk"
#include "compstat.cdk"
* logical llprep CHARACTER*1 CDCTL INTEGER JLEV, JLA, JK, JGL, KULOUT,ji,jj REAL*8 ZVORSC, ZDIVSC, ZGZSC, ZPSSC, ZTGSC, ZQSC, zozsc REAL*8 ZSIGU, ZSIGV, ZSIGQ, ZSIGPS, ZSIGTG, ZCON, ZGZMIN REAL*8 DLFACT INTEGER :: ierr,gensize EXTERNAL INITRND real*8 zcorns(nksdim2,nksdim2,0:nband-1,1) C IF(CDCTL .EQ. '0') THEN WRITE(NULOUT,9000)CDCTL RETURN ENDIF 9000 FORMAT(//,3(" *****************"),/ S ," subg_lam: CDCTL=",A1," NO EXECUTION",/ S ,3(" *****************")) C WRITE(NULOUT,FMT=9010) 9010 FORMAT(//,1x,"-subg_lam: defining the forecast error" S ," correlation as",/ S ," NOTE: MORE DIAGNOSTICS ABOUT FORECAST ERROR ARE",/ S ," WRITTEN ON THE FILE: DIAGSTAT") ! !! llprep = .false. ! if(grd_typ.eq.'LU') then if(nconf.eq.101.or.nconf.eq.121) then ! Background-Check ! ! Set amplification factor of prediction error to one (default) ! damplibg(:,:,:) = 1.0d0 return endif endif C C*1. Prepare background error statistics C ----------------------------------- C if(grd_typ.eq.'GU') then if(lcva_hemis) then call sustatsgl
endif else if(grd_typ.eq.'LU') then IF(myid == 0) call sustatsla
endif if(llprep) then IF(myid == 0) call prep_target_bgchk
endif c c*2. INITIALIZE THE PROJECTION THAT DIAGONALIZES CORNS c ------------------------------------------------- c if(.not.lcornsmin) then ! preconditioning not already available on stats file IF(myid == 0) THEN if(grd_typ.eq.'LU') then if(nanalvar.eq.3) THEN call sucorns_3
else call sucorns2la
endif else if(nanalvar.eq.3) THEN call sucorns_3
else if(nanalvar.eq.4) THEN call sucorns2
endif endif endif endif ! gensize=NKSDIM2*NKSDIM2*(NTRUNC+1)*NLATBIN CALL rpn_comm_bcast(corns,gensize,"mpi_double_precision",0,"GRID",ierr) ! return end