assert_m.f90 Source File


Files dependent on this one

sourcefile~~assert_m.f90~~AfferentGraph sourcefile~assert_m.f90 assert_m.f90 sourcefile~conf_gcm.f90~2 conf_gcm.f90 sourcefile~conf_gcm.f90~2->sourcefile~assert_m.f90 sourcefile~regr1_step_av_m.f90 regr1_step_av_m.f90 sourcefile~regr1_step_av_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_int_m.f90~2 regr_pr_int_m.f90 sourcefile~regr_pr_int_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_lint_m.f90 regr_lint_m.f90 sourcefile~regr_pr_int_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~acama_gwd_rando_m.f90 acama_gwd_rando_m.f90 sourcefile~acama_gwd_rando_m.f90->sourcefile~assert_m.f90 sourcefile~o3_chem_m.f90 o3_chem_m.f90 sourcefile~o3_chem_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90 regr_pr_comb_coefoz_m.f90 sourcefile~o3_chem_m.f90->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2 regr_horiz_time_climoz_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_conserv_m.f90 regr_conserv_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~acama_gwd_rando_m.f90~2 acama_gwd_rando_m.f90 sourcefile~acama_gwd_rando_m.f90~2->sourcefile~assert_m.f90 sourcefile~radlwsw_m.f90 radlwsw_m.F90 sourcefile~radlwsw_m.f90->sourcefile~assert_m.f90 sourcefile~flott_gwd_rando_m.f90~2 flott_gwd_rando_m.f90 sourcefile~flott_gwd_rando_m.f90~2->sourcefile~assert_m.f90 sourcefile~ozonecm_m.f90~2 ozonecm_m.f90 sourcefile~ozonecm_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_conserv_m.f90->sourcefile~assert_m.f90 sourcefile~physiq_mod.f90 physiq_mod.F90 sourcefile~physiq_mod.f90->sourcefile~assert_m.f90 sourcefile~physiq_mod.f90->sourcefile~acama_gwd_rando_m.f90 sourcefile~physiq_mod.f90->sourcefile~radlwsw_m.f90 sourcefile~flott_gwd_rando_m.f90 flott_gwd_rando_m.f90 sourcefile~physiq_mod.f90->sourcefile~flott_gwd_rando_m.f90 sourcefile~regr_horiz_time_climoz_m.f90 regr_horiz_time_climoz_m.f90 sourcefile~physiq_mod.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~tropopause_m.f90 tropopause_m.f90 sourcefile~physiq_mod.f90->sourcefile~tropopause_m.f90 sourcefile~regr_pr_time_av_m.f90 regr_pr_time_av_m.f90 sourcefile~physiq_mod.f90->sourcefile~regr_pr_time_av_m.f90 sourcefile~ozonecm_m.f90 ozonecm_m.f90 sourcefile~physiq_mod.f90->sourcefile~ozonecm_m.f90 sourcefile~phytrac_mod.f90 phytrac_mod.f90 sourcefile~physiq_mod.f90->sourcefile~phytrac_mod.f90 sourcefile~phyetat0_mod.f90 phyetat0_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~phys_output_write_mod.f90 phys_output_write_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~physiqex_mod.f90 physiqex_mod.F90 sourcefile~physiq_mod.f90->sourcefile~physiqex_mod.f90 sourcefile~diag_slp.f90 diag_slp.f90 sourcefile~physiq_mod.f90->sourcefile~diag_slp.f90 sourcefile~phys_output_mod.f90 phys_output_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phys_output_mod.f90 sourcefile~regr_pr_int_m.f90 regr_pr_int_m.f90 sourcefile~regr_pr_int_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_int_m.f90->sourcefile~regr_lint_m.f90 sourcefile~conf_gcm.f90 conf_gcm.F90 sourcefile~conf_gcm.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_o3_m.f90~2 regr_pr_o3_m.f90 sourcefile~regr_pr_o3_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_o3_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr1_step_av_m.f90~2 regr1_step_av_m.f90 sourcefile~regr1_step_av_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90->sourcefile~regr_pr_int_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90->sourcefile~regr_pr_time_av_m.f90 sourcefile~disvert.f90 disvert.f90 sourcefile~disvert.f90->sourcefile~assert_m.f90 sourcefile~regr_lat_time_climoz_m.f90 regr_lat_time_climoz_m.f90 sourcefile~regr_lat_time_climoz_m.f90->sourcefile~assert_m.f90 sourcefile~regr1_conserv_m.f90 regr1_conserv_m.f90 sourcefile~regr_lat_time_climoz_m.f90->sourcefile~regr1_conserv_m.f90 sourcefile~flott_gwd_rando_m.f90->sourcefile~assert_m.f90 sourcefile~radlwsw_m.f90~2 radlwsw_m.F90 sourcefile~radlwsw_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2 regr_pr_comb_coefoz_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2->sourcefile~regr_pr_int_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2->sourcefile~regr_pr_time_av_m.f90 sourcefile~tropopause_m.f90~2 tropopause_m.f90 sourcefile~tropopause_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_time_av_m.f90~2 regr_pr_time_av_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~assert_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~assert_m.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~regr_lint_m.f90 sourcefile~physiq_mod.f90~2 physiq_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~assert_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~acama_gwd_rando_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~radlwsw_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~flott_gwd_rando_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~tropopause_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~regr_pr_time_av_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~ozonecm_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~phytrac_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~physiqex_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~diag_slp.f90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_mod.f90 sourcefile~o3_chem_m.f90~2 o3_chem_m.f90 sourcefile~o3_chem_m.f90~2->sourcefile~assert_m.f90 sourcefile~o3_chem_m.f90~2->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~disvert.f90~2 disvert.f90 sourcefile~disvert.f90~2->sourcefile~assert_m.f90 sourcefile~tropopause_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_o3_m.f90 regr_pr_o3_m.f90 sourcefile~regr_pr_o3_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_o3_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_pr_av_m.f90 regr_pr_av_m.f90 sourcefile~regr_pr_av_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_av_m.f90->sourcefile~regr1_conserv_m.f90 sourcefile~regr_lint_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~assert_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~regr_lint_m.f90 sourcefile~ozonecm_m.f90->sourcefile~assert_m.f90 sourcefile~regr1_conserv_m.f90->sourcefile~assert_m.f90 sourcefile~inter_barxy_m.f90 inter_barxy_m.f90 sourcefile~inter_barxy_m.f90->sourcefile~assert_m.f90 sourcefile~traclmdz_mod.f90 traclmdz_mod.f90 sourcefile~traclmdz_mod.f90->sourcefile~o3_chem_m.f90 sourcefile~traclmdz_mod.f90->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~traclmdz_mod.f90~2 traclmdz_mod.f90 sourcefile~traclmdz_mod.f90~2->sourcefile~o3_chem_m.f90 sourcefile~traclmdz_mod.f90~2->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2 regr_lat_time_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~old_lmdz1d.f90 old_lmdz1d.f90 sourcefile~old_lmdz1d.f90->sourcefile~physiq_mod.f90 sourcefile~callphysiq_mod.f90 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90->sourcefile~physiq_mod.f90 sourcefile~etat0dyn_netcdf.f90 etat0dyn_netcdf.F90 sourcefile~etat0dyn_netcdf.f90->sourcefile~regr_pr_o3_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~regr_lat_time_coefoz_m.f90 regr_lat_time_coefoz_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~regr_lat_time_coefoz_m.f90 sourcefile~callphysiq_mod.f90~2 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90~2->sourcefile~physiq_mod.f90 sourcefile~etat0phys_netcdf.f90 etat0phys_netcdf.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~limit_netcdf.f90 limit_netcdf.F90 sourcefile~limit_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~scm.f90 scm.f90 sourcefile~scm.f90->sourcefile~physiq_mod.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~regr_lint_m.f90 sourcefile~lsc_scav.f90 lsc_scav.f90 sourcefile~lsc_scav.f90->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_orig.f90~2 lsc_scav_orig.f90 sourcefile~lsc_scav_orig.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~calfis.f90 calfis.f90 sourcefile~calfis.f90->sourcefile~callphysiq_mod.f90 sourcefile~phytrac_mod.f90->sourcefile~traclmdz_mod.f90 sourcefile~cltracrn.f90~2 cltracrn.f90 sourcefile~cltracrn.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~phyredem.f90 phyredem.F90 sourcefile~phyredem.f90->sourcefile~traclmdz_mod.f90 sourcefile~initrrnpb.f90 initrrnpb.f90 sourcefile~initrrnpb.f90->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_orig.f90 lsc_scav_orig.f90 sourcefile~lsc_scav_orig.f90->sourcefile~traclmdz_mod.f90 sourcefile~ce0l.f90 ce0l.F90 sourcefile~ce0l.f90->sourcefile~etat0dyn_netcdf.f90 sourcefile~ce0l.f90->sourcefile~etat0phys_netcdf.f90 sourcefile~ce0l.f90->sourcefile~limit_netcdf.f90 sourcefile~phyetat0_mod.f90->sourcefile~traclmdz_mod.f90 sourcefile~radio_decay.f90 radio_decay.f90 sourcefile~radio_decay.f90->sourcefile~traclmdz_mod.f90 sourcefile~initrrnpb.f90~2 initrrnpb.f90 sourcefile~initrrnpb.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_spl.f90 lsc_scav_spl.f90 sourcefile~lsc_scav_spl.f90->sourcefile~traclmdz_mod.f90 sourcefile~phytrac_mod.f90~2 phytrac_mod.f90 sourcefile~phytrac_mod.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~radio_decay.f90~2 radio_decay.f90 sourcefile~radio_decay.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_spl.f90~2 lsc_scav_spl.f90 sourcefile~lsc_scav_spl.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav.f90~2 lsc_scav.f90 sourcefile~lsc_scav.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~cltracrn.f90 cltracrn.f90 sourcefile~cltracrn.f90->sourcefile~traclmdz_mod.f90 sourcefile~phys_output_write_mod.f90->sourcefile~phytrac_mod.f90 sourcefile~physiqex_mod.f90~2 physiqex_mod.F90 sourcefile~physiqex_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~phys_output_write_mod.f90~2 phys_output_write_mod.F90 sourcefile~phys_output_write_mod.f90~2->sourcefile~phytrac_mod.f90 sourcefile~physiqex_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~diag_slp.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_mod.f90~2 phys_output_mod.F90 sourcefile~phys_output_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~diag_slp.f90~2 diag_slp.f90 sourcefile~diag_slp.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~recmwf_aero.f90 recmwf_aero.F90 sourcefile~recmwf_aero.f90->sourcefile~phys_output_mod.f90 sourcefile~recmwf_aero.f90~2 recmwf_aero.F90 sourcefile~recmwf_aero.f90~2->sourcefile~phys_output_mod.f90 sourcefile~sw_aeroar4.f90 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90->sourcefile~phys_output_mod.f90 sourcefile~sw_aeroar4.f90~2 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90~2->sourcefile~phys_output_mod.f90

Contents

Source Code


Source Code

! $Id$
MODULE assert_m

  implicit none

  INTERFACE assert
     MODULE PROCEDURE assert1,assert2,assert3,assert4,assert_v
  END INTERFACE

  private assert1,assert2,assert3,assert4,assert_v

CONTAINS

  SUBROUTINE assert1(n1,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    LOGICAL, INTENT(IN) :: n1
    if (.not. n1) then
       write (*,*) 'nrerror: an assertion failed with this tag:', &
            string
       print *, 'program terminated by assert1'
       stop 1
    end if
  END SUBROUTINE assert1
  !BL
  SUBROUTINE assert2(n1,n2,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    LOGICAL, INTENT(IN) :: n1,n2
    if (.not. (n1 .and. n2)) then
       write (*,*) 'nrerror: an assertion failed with this tag:', &
            string
       print *, 'program terminated by assert2'
       stop 1
    end if
  END SUBROUTINE assert2
  !BL
  SUBROUTINE assert3(n1,n2,n3,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    LOGICAL, INTENT(IN) :: n1,n2,n3
    if (.not. (n1 .and. n2 .and. n3)) then
       write (*,*) 'nrerror: an assertion failed with this tag:', &
            string
       print *, 'program terminated by assert3'
       stop 1
    end if
  END SUBROUTINE assert3
  !BL
  SUBROUTINE assert4(n1,n2,n3,n4,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    LOGICAL, INTENT(IN) :: n1,n2,n3,n4
    if (.not. (n1 .and. n2 .and. n3 .and. n4)) then
       write (*,*) 'nrerror: an assertion failed with this tag:', &
            string
       print *, 'program terminated by assert4'
       stop 1
    end if
  END SUBROUTINE assert4
  !BL
  SUBROUTINE assert_v(n,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    LOGICAL, DIMENSION(:), INTENT(IN) :: n
    if (.not. all(n)) then
       write (*,*) 'nrerror: an assertion failed with this tag:', &
            string
       print *, 'program terminated by assert_v'
       stop 1
    end if
  END SUBROUTINE assert_v

END MODULE assert_m