Changeset 22382
- Timestamp:
- 02/01/18 11:01:09 (7 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/cores/love_core.cpp
r22015 r22382 22 22 IssmDouble g0,r0,mu0; 23 23 bool allow_layer_deletion; 24 bool love_kernels; 24 25 int forcing_type; 25 26 bool verbosemod = (int)VerboseModule(); … … 42 43 femmodel->parameters->FindParam(&mu0,LoveMu0Enum); 43 44 femmodel->parameters->FindParam(&allow_layer_deletion,LoveAllowLayerDeletionEnum); 45 femmodel->parameters->FindParam(&love_kernels,LoveKernelsEnum); 44 46 femmodel->parameters->FindParam(&forcing_type,LoveForcingTypeEnum); 45 47 … … 59 61 IssmDouble* LoveHi = xNewZeroInit<IssmDouble>(nfreq*(sh_nmax+1)); 60 62 IssmDouble* LoveLi = xNewZeroInit<IssmDouble>(nfreq*(sh_nmax+1)); 61 63 64 /*Initialize love kernels (real and imaginary parts): */ 65 IssmDouble* LoveKernelsReal = xNewZeroInit<IssmDouble>(nfreq*(sh_nmax+1)*(matlitho->numlayers+1)*6); 66 IssmDouble* LoveKernelsImag = xNewZeroInit<IssmDouble>(nfreq*(sh_nmax+1)*(matlitho->numlayers+1)*6); 67 62 68 /*call the main module: */ 63 FourierLoveCorex(LoveKr,LoveKi,LoveHr,LoveHi,LoveLr,LoveLi, //output69 FourierLoveCorex(LoveKr,LoveKi,LoveHr,LoveHi,LoveLr,LoveLi,LoveKernelsReal,LoveKernelsImag, //output 64 70 nfreq,frequencies,sh_nmax,sh_nmin,g0,r0,mu0,allow_layer_deletion,forcing_type,verbosemod, //parameter inputs 65 71 matlitho->numlayers, matlitho->radius, matlitho->viscosity, matlitho->lame_lambda, matlitho->lame_mu, … … 74 80 femmodel->results->AddObject(new GenericExternalResult<IssmDouble*>(femmodel->results->Size()+1,LoveHiEnum,LoveHi,sh_nmax+1,nfreq,0,0)); 75 81 femmodel->results->AddObject(new GenericExternalResult<IssmDouble*>(femmodel->results->Size()+1,LoveLiEnum,LoveLi,sh_nmax+1,nfreq,0,0)); 82 /*Only when love_kernels is set unity*/ 83 if (love_kernels==1) { 84 femmodel->results->AddObject(new GenericExternalResult<IssmDouble*>(femmodel->results->Size()+1,LoveKernelsRealEnum,LoveKernelsReal,(sh_nmax+1)*(matlitho->numlayers+1)*6,nfreq,0,0)); 85 femmodel->results->AddObject(new GenericExternalResult<IssmDouble*>(femmodel->results->Size()+1,LoveKernelsImagEnum,LoveKernelsImag,(sh_nmax+1)*(matlitho->numlayers+1)*6,nfreq,0,0)); 86 } 76 87 77 88 /*Free ressources:*/ … … 83 94 xDelete<IssmDouble>(LoveHi); 84 95 xDelete<IssmDouble>(LoveLi); 96 xDelete<IssmDouble>(LoveKernelsReal); 97 xDelete<IssmDouble>(LoveKernelsImag); 85 98 } -
issm/trunk-jpl/src/c/modules/FourierLoveCorex/FourierLoveCorex.cpp
r22059 r22382 12 12 extern "C" { 13 13 int lnb_setup_( IssmDouble* LoveKr, IssmDouble* LoveKi, IssmDouble* LoveHr, IssmDouble* LoveHi, IssmDouble* LoveLr, 14 IssmDouble* LoveLi, int* pnfreq, IssmDouble* frequencies, int* psh_nmax, int* psh_nmin, 15 IssmDouble* pg0, IssmDouble* pr0, IssmDouble* pmu0,bool* pallow_layer_deletion, int* pforcing_type, bool* pverbosemod, 14 IssmDouble* LoveLi, IssmDouble* LoveKernelsReal, IssmDouble* LoveKernelsImag, 15 int* pnfreq, IssmDouble* frequencies, int* psh_nmax, int* psh_nmin, IssmDouble* pg0, 16 IssmDouble* pr0, IssmDouble* pmu0,bool* pallow_layer_deletion, int* pforcing_type, bool* pverbosemod, 16 17 int* pnumlayers, IssmDouble* radius, IssmDouble* viscosity, IssmDouble* lame_lambda, IssmDouble* lame_mu, 17 18 IssmDouble* burgers_viscosity, IssmDouble* burgers_mu, IssmDouble* density, IssmDouble* isburgers, IssmDouble* issolid); 18 19 19 } 20 20 21 /*}}}*/22 23 21 void FourierLoveCorex( IssmDouble* LoveKr, IssmDouble* LoveKi, IssmDouble* LoveHr, IssmDouble* LoveHi, IssmDouble* LoveLr, 24 IssmDouble* LoveLi, int nfreq, IssmDouble* frequencies, int sh_nmax, int sh_nmin, 25 IssmDouble g0, IssmDouble r0, IssmDouble mu0,bool allow_layer_deletion, int forcing_type, bool verbosemod, 22 IssmDouble* LoveLi, IssmDouble* LoveKernelsReal, IssmDouble* LoveKernelsImag, 23 int nfreq, IssmDouble* frequencies, int sh_nmax, int sh_nmin, IssmDouble g0, 24 IssmDouble r0, IssmDouble mu0,bool allow_layer_deletion, int forcing_type, bool verbosemod, 26 25 int numlayers, IssmDouble* radius, IssmDouble* viscosity, IssmDouble* lame_lambda, IssmDouble* lame_mu, 27 26 IssmDouble* burgers_viscosity, IssmDouble* burgers_mu, IssmDouble* density, IssmDouble* isburgers, IssmDouble* issolid){ … … 29 28 /*Call fortran driver: */ 30 29 lnb_setup_( LoveKr, LoveKi, LoveHr, LoveHi, LoveLr, 31 LoveLi, &nfreq, frequencies, &sh_nmax, &sh_nmin, 32 &g0, &r0, &mu0, &allow_layer_deletion, &forcing_type, &verbosemod, 30 LoveLi, LoveKernelsReal, LoveKernelsImag, 31 &nfreq, frequencies, &sh_nmax, &sh_nmin, &g0, 32 &r0, &mu0, &allow_layer_deletion, &forcing_type, &verbosemod, 33 33 &numlayers, radius, viscosity, lame_lambda, lame_mu, 34 34 burgers_viscosity, burgers_mu, density, isburgers, issolid); 35 36 37 38 35 } -
issm/trunk-jpl/src/c/modules/FourierLoveCorex/FourierLoveCorex.h
r22059 r22382 10 10 /* local prototypes: */ 11 11 void FourierLoveCorex( IssmDouble* LoveKr, IssmDouble* LoveKi, IssmDouble* LoveHr, IssmDouble* LoveHi, IssmDouble* LoveLr, 12 IssmDouble* LoveLi,int nfreq, IssmDouble* frequencies, int sh_nmax, int sh_nmin, IssmDouble g0, IssmDouble r0, 13 IssmDouble mu0,bool allow_layer_deletion, int forcing_type, bool verbosemod, int numlayers, IssmDouble* radius, 14 IssmDouble* viscosity,IssmDouble* lame_lambda, IssmDouble* lame_mu, IssmDouble* burgers_viscosity, IssmDouble* burgers_mu, 15 IssmDouble* density,IssmDouble* isburgers, IssmDouble* issolid); 12 IssmDouble* LoveLi, IssmDouble* LoveKernelsReal, IssmDouble* LoveKernelsImag, 13 int nfreq, IssmDouble* frequencies, int sh_nmax, int sh_nmin, IssmDouble g0, 14 IssmDouble r0, IssmDouble mu0,bool allow_layer_deletion, int forcing_type, bool verbosemod, 15 int numlayers, IssmDouble* radius, IssmDouble* viscosity,IssmDouble* lame_lambda, IssmDouble* lame_mu, 16 IssmDouble* burgers_viscosity, IssmDouble* burgers_mu, IssmDouble* density,IssmDouble* isburgers, IssmDouble* issolid); 16 17 17 18 #endif /* _FOURIERLOVECOREX_H */ -
issm/trunk-jpl/src/c/modules/FourierLoveCorex/love_numbers.f90
r22097 r22382 1 subroutine lnb_setup( ksr, ksi, hsr, hsi, lsr, lsi, dnfreq, frequencies, ddegmax, ddegmin, & 2 dgo0, dr0, dmu0, dallow_layer_del, source_type, ddisplay, dnlayer, dradius, & 1 2 !subroutine lnb_setup {{{ 3 subroutine lnb_setup( ksr, ksi, hsr, hsi, lsr, lsi, lksr, lksi, dnfreq, frequencies, ddegmax, ddegmin, & 4 dgo0, dr0, dmu0, dallow_layer_del, source_type, ddisplay, dnlayer, dradius, & 3 5 dvic, dlac, dmuc, dvic2, dmuc2, droc, dburgers, dsoliddim) 6 4 7 use lnb_param 5 8 use util … … 14 17 double precision, dimension(dnfreq) :: frequencies 15 18 19 double complex :: lks(dnfreq,(ddegmax+1)*(dnlayer+1)*6) 20 double precision, dimension(dnfreq,(ddegmax+1)*(dnlayer+1)*6) :: lksr, lksi 21 16 22 double precision :: dmu0,dgo0,dr0 17 23 logical :: dallow_layer_del, ddisplay … … 59 65 ls=hs 60 66 61 call love_numbers(frequencies,source_type,hs,ls,ks )67 call love_numbers(frequencies,source_type,hs,ls,ks,lks) 62 68 63 69 hsr=dble(hs) … … 67 73 lsr=dble(ls) 68 74 lsi=dimag(ls) 75 !!! love kernels 76 lksr=dble(lks) 77 lksi=dimag(lks) 69 78 70 79 end subroutine 71 72 !==================== 73 subroutine love_numbers(frequencies,source_type,hs,ls,ks) 74 !==================== 80 ! }}} 81 82 !subroutine love_numbers {{{ 83 subroutine love_numbers(frequencies,source_type,hs,ls,ks,lks) 75 84 76 85 use model … … 89 98 integer :: i,j,k,n, fr,m,l, source_type 90 99 double complex :: hs(nfreq,degmax+1), ls(nfreq,degmax+1), ks(nfreq,degmax+1) 91 100 101 double complex, dimension((nlayer+1)*6,1) :: lovekernels 102 double complex :: lks(nfreq,(degmax+1)*(nlayer+1)*6) 92 103 93 104 double precision :: cpu_time1(100) … … 118 129 ! Test number of interfaces and of boundary conditions 119 130 nbc = 0 120 do i=1,nlayer+1 121 if (radbc(i)) nbc=nbc+6 122 enddo 123 131 !!! >>> SA: 01/27/2018 => following changes are made to retrieve love numbers at depth 132 !do i=1,nlayer+1 133 !if (radbc(i)) nbc=nbc+6 134 !enddo 135 nbc = (nlayer+1)*6 136 !!! >>> SA 124 137 125 138 ifmin=source_type … … 280 293 call external_forcing(deg,f,sourcs,nfext,nbc) 281 294 !print*,'forcing ok', layerrap 282 call solution(deg,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta )295 call solution(deg,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta,lovekernels) 283 296 284 297 !print*,'first_sol', layerrap, epsdb … … 318 331 call boundary_conditions_matrix(bc,indx,nbc) 319 332 call external_forcing(deg,f,sourcs,nfext,nbc) 320 call solution(deg,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta )333 call solution(deg,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta,lovekernels) 321 334 322 335 end do … … 324 337 325 338 !-- Saving Love numbers 326 327 328 339 hs(fr,deg+1) = loveh 329 340 ks(fr,deg+1) = lovek - 1.d0 330 341 ls(fr,deg+1) = lovel 342 343 !!! and love kernels 344 do i=1,nbc 345 lks(fr,deg*nbc+i) = lovekernels(i,1) 346 end do 347 !!! for ks... 6th variable is y5 => love_k 348 do i = 1,nbc/6 349 lks(fr,deg*nbc+6*i) = lks(fr,deg*nbc+6*i) - (radius(i)/ra)**deg 350 end do 331 351 332 352 !print*,dble(hs(fr,deg+1)), dimag(hs(fr,deg+1)),dble(ks(fr,deg+1)), dimag(ks(fr,deg+1)) … … 362 382 deallocate( bc, indx, f, sourcs ) 363 383 end subroutine 384 ! }}} 385 -
issm/trunk-jpl/src/c/modules/FourierLoveCorex/lovenb_sub.f90
r22059 r22382 8 8 contains 9 9 10 ! subroutine boundary_conditions_matrix {{{ 10 11 subroutine boundary_conditions_matrix(bc,indx,nbc) 11 !-------------------------------------12 12 13 13 implicit none … … 77 77 end if 78 78 79 80 79 do j = 1,ny 81 ! Typing ystart 82 if (radbc(i)) then 83 ystart(:)=0.d0 80 ! Typing ystart 81 !!! >>> SA: 01/27/2018 => changes made to retrieve love numbers at depth 82 !!!if (radbc(i)) then 83 ystart(:)=0.d0 84 84 ystart(j)= valini 85 85 k=ibc+1 86 else87 ystart(:)=ystep(j,:)88 end if86 !!!else 87 !!! ystart(:)=ystep(j,:) 88 !!!end if 89 89 90 90 ! Numerical Integration … … 95 95 96 96 ! Boundary Condition matrix - propagation part 97 if (radbc(i+1)) then97 !!!if (radbc(i+1)) then 98 98 ii = 6*k+is 99 99 jj = 6*k+j+is-3 … … 101 101 bc(ii+kk,jj) = ystart(kk)*one 102 102 end do 103 else104 ystep(j,:)=ystart(:)105 end if103 !!!else 104 !!! ystep(j,:)=ystart(:) 105 !!!end if 106 106 end do 107 107 108 108 109 if (radbc(i)) then109 !!!if (radbc(i)) then 110 110 111 111 ! Boundary Condition matrix - solid regions … … 118 118 bc(j+6*ibc,j+6*ibc+3) = one 119 119 end do 120 ibc = ibc+1121 120 122 121 ! Boundary Condition matrix - liquid regions … … 143 142 bc(ii+2,ii)=-1.d0 144 143 bc(ii+5,ii-1)= 4.d0*pi*GG*ro1*ra/go0 145 ibc = ibc+1146 144 end if 147 148 end if 149 150 145 ibc = ibc+1 146 147 !! end if 151 148 152 149 end do … … 172 169 !print*, bc, imag_eval 173 170 end subroutine boundary_conditions_matrix 174 171 ! }}} 172 173 ! subroutine sphere {{{ 175 174 subroutine sphere(i,n,bc) 176 175 !------------------------ … … 223 222 224 223 end subroutine sphere 225 224 ! }}} 225 226 ! subroutine external_forcing {{{ 226 227 subroutine external_forcing(n,source,sourcs,nfext,nbc) 227 228 !----------------------------------- … … 297 298 298 299 end subroutine external_forcing 299 300 subroutine solution(n,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta) 300 ! }}} 301 302 ! subroutine solution {{{ 303 subroutine solution(n,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta,love_kernels) 301 304 !------------------------------------------------- 302 305 … … 305 308 integer, dimension(:), pointer :: indx 306 309 character*40, dimension(:), pointer :: sourcs 307 double complex, dimension(nbc,1) :: sc 310 double complex, dimension(nbc,1) :: sc, love_kernels 308 311 double complex :: loveh,lovel,lovek,loveh1,lovel1,lovek1,loveh1s,lovel1s,lovek1s 309 312 double complex :: sumh,suml,sumk,d,val,sumy2,sumy4,sumy6,rads … … 362 365 print*, 'Error in ZGESV : LAPACK linear equation solver couldn''t resolve the system' 363 366 end if 367 !!! >>> y1, y3, y5 at surface (by default) 364 368 loveh = sc(nbc-2,1)*ra*go_surf 365 369 lovel = sc(nbc-1,1)*ra*go_surf 366 370 lovek = sc(nbc,1)*ra*go0 367 371 delta = (1.d0-dble(n+1)/dble(n)*(lovek-1.d0)+2.d0/dble(n)*loveh) 368 372 373 !!! >>> at depth [by SA on 1/31/2018] 374 !!! sc outputs as follows (so scale it accordingly) 375 !!! y4 y2 y6 y1 y3 y5 376 !!! at center of mass of the earth (top row) => at surface (bottom row) 377 !print *, nbc 378 do j = 1,nbc/6 379 !!! y4, y2, y6 are not scaled yet =>>> ask lambert ==>>> 380 love_kernels((j-1)*6+1,1) = sc((j-1)*6+1,1) ! y4 NOT SCALED YET 381 love_kernels((j-1)*6+2,1) = sc((j-1)*6+2,1) ! y2 NOT SCALED YET 382 love_kernels((j-1)*6+3,1) = sc((j-1)*6+3,1) ! y6 NOT SCALED YET 383 love_kernels((j-1)*6+4,1) = sc((j-1)*6+4,1)*ra*go_surf ! y1 => love_h 384 love_kernels((j-1)*6+5,1) = sc((j-1)*6+5,1)*ra*go_surf ! y3 => love_l 385 love_kernels((j-1)*6+6,1) = sc((j-1)*6+6,1)*ra*go0 ! y5 => love_k 386 !if (deg==2) then 387 ! print *, real(love_kernels((j-1)*6+1,1)), real(love_kernels((j-1)*6+4,1)) 388 !end if 389 end do 390 391 !if (deg==2) then 392 ! do ibc=1,nbc/6 393 ! print *, real(sc( (ibc-1)*6+1:(ibc-1)*6+6 , 1)) 394 ! end do 395 ! print *, ' ************* ' 396 ! do ibc=1,nbc/6 397 ! print *, real(love_kernels( (ibc-1)*6+1:(ibc-1)*6+6 , 1)) 398 ! end do 399 ! print *, ' ************* ' 400 ! print*, ra*go_surf, ra*go0, mu0 401 !end if 402 !!! >>> SA 403 369 404 sumy2=0.d0 370 405 sumy4=0.d0 … … 448 483 449 484 end subroutine solution 450 451 485 ! }}} 486 487 ! subroutine solution_nbloutput {{{ 452 488 subroutine solution_nbloutput(n,bc,indx,f,sourcs,nfext,nbc,loveh,lovel,lovek,delta) 453 489 !------------------------------------------------- … … 593 629 !write(*,*),dlog10(aimag(freq)*365.d0*24.d0*3600.d0*1000.d0),' Matrix det = ',d, lovek 594 630 595 596 631 end subroutine solution_nbloutput 597 598 632 ! }}} 599 633 600 634 end module lovenb_sub -
issm/trunk-jpl/src/c/modules/FourierLoveCorex/model.f90
r22059 r22382 73 73 ! Test number of interfaces and of boundary conditions 74 74 n = 0 75 do i=1,nlayer+1 76 if (radbc(i)) n=n+1 77 enddo 75 !!! >>> SA: 01/27/2018 => following changes made to retrieve love numbers at depth 76 !do i=1,nlayer+1 77 !if (radbc(i)) n=n+1 78 !enddo 79 n = nlayer+1 80 !!! >>> SA 78 81 if (nbc/=(6*n)) then 79 82 !write(101,*), -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r22294 r22382 86 86 parameters->AddObject(iomodel->CopyConstantObject("md.love.mu0",LoveMu0Enum)); 87 87 parameters->AddObject(iomodel->CopyConstantObject("md.love.allow_layer_deletion",LoveAllowLayerDeletionEnum)); 88 parameters->AddObject(iomodel->CopyConstantObject("md.love.love_kernels",LoveKernelsEnum)); 88 89 parameters->AddObject(iomodel->CopyConstantObject("md.love.forcing_type",LoveForcingTypeEnum)); 89 90 -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r22349 r22382 866 866 LoveKiEnum, 867 867 LoveLiEnum, 868 LoveKernelsEnum, 869 LoveKernelsRealEnum, 870 LoveKernelsImagEnum, 868 871 869 872 /*}}}*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r22349 r22382 844 844 case LoveKiEnum : return "LoveKi"; 845 845 case LoveLiEnum : return "LoveLi"; 846 case LoveKernelsEnum : return "LoveKernels"; 847 case LoveKernelsRealEnum : return "LoveKernelsReal"; 848 case LoveKernelsImagEnum : return "LoveKernelsImag"; 846 849 case EsaUmotionEnum : return "EsaUmotion"; 847 850 case EsaNmotionEnum : return "EsaNmotion"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r22349 r22382 862 862 else if (strcmp(name,"LoveKi")==0) return LoveKiEnum; 863 863 else if (strcmp(name,"LoveLi")==0) return LoveLiEnum; 864 else if (strcmp(name,"LoveKernels")==0) return LoveKernelsEnum; 865 else if (strcmp(name,"LoveKernelsReal")==0) return LoveKernelsRealEnum; 866 else if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum; 864 867 else if (strcmp(name,"EsaUmotion")==0) return EsaUmotionEnum; 865 868 else if (strcmp(name,"EsaNmotion")==0) return EsaNmotionEnum; … … 872 875 else if (strcmp(name,"EsaStrainrateyy")==0) return EsaStrainrateyyEnum; 873 876 else if (strcmp(name,"EsaRotationrate")==0) return EsaRotationrateEnum; 874 else if (strcmp(name,"EsaDeltathickness")==0) return EsaDeltathicknessEnum;875 else if (strcmp(name,"EsaUElastic")==0) return EsaUElasticEnum;876 else if (strcmp(name,"EsaHElastic")==0) return EsaHElasticEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"EsaTransitions")==0) return EsaTransitionsEnum; 880 if (strcmp(name,"EsaDeltathickness")==0) return EsaDeltathicknessEnum; 881 else if (strcmp(name,"EsaUElastic")==0) return EsaUElasticEnum; 882 else if (strcmp(name,"EsaHElastic")==0) return EsaHElasticEnum; 883 else if (strcmp(name,"EsaTransitions")==0) return EsaTransitionsEnum; 881 884 else if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum; 882 885 else if (strcmp(name,"EsaNumRequestedOutputs")==0) return EsaNumRequestedOutputsEnum; … … 995 998 else if (strcmp(name,"StressbalanceSIAAnalysis")==0) return StressbalanceSIAAnalysisEnum; 996 999 else if (strcmp(name,"StressbalanceSolution")==0) return StressbalanceSolutionEnum; 997 else if (strcmp(name,"StressbalanceVerticalAnalysis")==0) return StressbalanceVerticalAnalysisEnum;998 else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum;999 else if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"HydrologyDCInefficientAnalysis")==0) return HydrologyDCInefficientAnalysisEnum; 1003 if (strcmp(name,"StressbalanceVerticalAnalysis")==0) return StressbalanceVerticalAnalysisEnum; 1004 else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum; 1005 else if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum; 1006 else if (strcmp(name,"HydrologyDCInefficientAnalysis")==0) return HydrologyDCInefficientAnalysisEnum; 1004 1007 else if (strcmp(name,"HydrologyDCEfficientAnalysis")==0) return HydrologyDCEfficientAnalysisEnum; 1005 1008 else if (strcmp(name,"HydrologySommersAnalysis")==0) return HydrologySommersAnalysisEnum;
Note:
See TracChangeset
for help on using the changeset viewer.